As soluções @Aaron Digulla e @kementeus são viáveis. Para repositórios do Subversion 1.4, operações de copiar / mover podem dificultar a migração futura para uma estrutura de repositório diferente ou dividir os repositórios.
Acredito que as melhorias do 1.5 incluem melhor resolução do histórico de movimentação / cópia, portanto, provavelmente não seria um problema para um repositório 1.5.
Para um repositório 1.4, eu recomendo usar svnadmin dump
e svndumpfilter
executar o movimento do tronco existente em outro lugar, movendo o ramo para o tronco com o mesmo mecanismo. Carregue os dois arquivos de despejo em um repositório de teste, verifique e mova-o para produção.
Obviamente, faça backup do seu repositório existente antes de iniciar.
Isso preserva o histórico sem registrar explicitamente a movimentação / cópia e facilita a reorganização futura, preservando o histórico.
Editar: conforme solicitado, a documentação do comportamento 1.4, do livro 1.4 Red-Bean, Filtering Repository History
Além disso, os caminhos copiados podem causar alguns problemas. O Subversion suporta operações de cópia no repositório, onde um novo caminho é criado copiando algum caminho já existente. É possível que, em algum momento da vida útil do seu repositório, você possa ter copiado um arquivo ou diretório de um local que svndumpfilter
está excluindo, para um local que está incluindo. Para tornar os dados de despejo auto-suficientes,svndumpfilter
ainda precisa mostrar a adição do novo caminho - incluindo o conteúdo de qualquer arquivo criado pela cópia - e não representar essa adição como uma cópia de uma fonte que não existirá no seu fluxo de dados de despejo filtrado. Mas como o formato de despejo de repositório do Subversion mostra apenas o que foi alterado em cada revisão, o conteúdo da fonte de cópia pode não estar prontamente disponível. Se você suspeitar que possui cópias desse tipo em seu repositório, convém repensar seu conjunto de caminhos incluídos / excluídos, talvez incluindo os que também serviram como fontes de suas operações problemáticas de cópia.
Isso se aplica a migrações / reorganizações usando svndumpfilter
. Há momentos em que um pouco de trabalho extra agora pode economizar muito trabalho mais tarde e, mantendo um uso fácil do svndumpfilter
disponível para futuras migrações / reorganizações, reduz o risco a um custo relativamente baixo.