Pergunta

Do pouco que eu entendo, svn 1.5 fornece suporte muito melhor para operações de mesclagem. Então, eu estou considerando a atualização do SVN 1.4. O repositório senta em um arquivo local (mais ou menos), e eu uso svn na linha de comando.

O que obstáculos posso esperar e como irá svn 1,5 pega o repositório existente sem os dados merge?

Editar: Em particular, depois que eu executar svnadmin upgrade, como é que svn funde alça de galhos que estavam última incorporadas na era 1.4?

E se svn-populate-node-origins-index tem nada a ver com isso?

Referência: http://subversion.tigris.org/svn_1.5_releasenotes.html

Foi útil?

Solução

A atualização deve ser suave, porém você não vai obter qualquer benefício de mesclagem mágicos até o merge-info coisas é preenchida -. O que não acontece até que você começar a usá-lo

O benefício só tangível da informação merge que eu encontrei é ser capaz de ver uma lista de potenciais fusões entre dois ramos e sei que as revisões que já foram integradas. Ela não afeta diretamente coisas como o número de conflitos que são gerados, mas não permite que você manter sã quando o controle do que se passou onde. As fusões realizadas antes da atualização não causam problemas, eles só aparecem novamente como potenciais fusões apesar de já ter sido feito.

Dito isto, a informação merge é apenas um svnproperty chamado svn: mergeinfo, do formato:

/Project/name/trunk:1355-3985,4019,4026-4437,4478,4481

Este é o real merge-info em um de nossos ramos de lançamento do projeto e nos diz exatamente o que as revisões de tronco está prestes a ser lançado. Isto significa que, quando você precisar dele, e onde você pode trabalhar com isso, você pode preencher o mergeinfo manualmente e obter todos os benefícios -. Que é o que fizemos para os primeiros revisões, acima

Ele também pode valer a pena olhar para reshard.py , especialmente se o repositório é grande e em janelas. Os 1,4 fsfs formato de repositório de colocar todas as revisões em arquivos separados na mesma pasta, o Windows inicia rastejando com isso depois de alguns milhares de revisões. 1,5 sharding grupos revisões em pastas separadas de 1,000 cada. 1.6 nos permitirá combinar as velhas revisões em um único arquivo de revisão geral.

Outras dicas

A atualização é simples. Subversion é compatível com versões anteriores na maioria dos aspectos. No entanto, você deve atualizar seu repositório usando svnadmin upgrade.

Tanto quanto eu entendo isso, rastreamento da integração só funcionará para fusões após a atualização. Não há nenhuma maneira real para reconstruir a informação em falta.

Além disso, svn-populate-node-origens-index deve ser executado em que repositório, mas pela razão definidos no arquivo vinculado (ver USAGE_SUMMARY).

Dependendo do seu ambiente de desenvolvimento que você pode precisar de ligações atualizados. Netbeans 6.2, por exemplo, não funciona com SVN 1,5.

Há muitas ferramentas para converter um repositório do Subversion / CVS para um tipo completamente diferente. Tentando mais difícil não ser argumentativo, eu sugiro que você olhar para todas as outras opções e decidir por si mesmo se algum pode tornar a vida mais fácil, como sistemas de controle de versão distribuído por exemplo. Git é aquele que afirma ser melhor.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top