Movendo um repositório Subversion para outro servidor
Pergunta
Eu tenho um servidor que a base anfitriões minha Subversion código. Esse servidor é atualmente uma caixa Windows Server 2003, e meu administrador de TI quer atualizá-lo para Windows Server 2008 .
Isso significa que eu vou precisar para mover meu repositório Subversion enquanto o servidor é construído para cima e queria saber o que são as melhores práticas para mover o repositório para um novo servidor.
Parece que, olhando em linha, a maneira recomendada é usar:
svnadmin dump /path/to/repository > repository-name.dmp
E, em seguida, use:
svnadmin create repository-name
svnadmin load repository-name< repository-name.dmp
Para importar o repositório.
O método acima parece ser a melhor abordagem?
Solução
Sim, dumping e carregar o repositório é um caminho a percorrer. Copiar a pasta do repositório diretamente é uma opção viável se, e somente se, você está certo que ninguém vai estar acessando o repositório enquanto o processo de cópia está em andamento (ou você pode fazer uma "cópia quente" do repositório, que pode lidar com estes casos de forma segura).
Você também terá que quer re-check-out todas as suas cópias de trabalho, ou usar o svn switch comando, que apenas reescreve URLs. A maneira mais conveniente é usar mudar comando do TortoiseSVN, o que reduz o risco de cometer um erro durante o processo de deslocalização.
Outras dicas
Meu restaurar roteiros são assim:
svnadmin create repository-name --fs-type fsfs
svnadmin load repository-name --force-uuid < repository-name.dmp
A primeira linha garante os usos repositório back-end FSFS
(que é recomendado por várias fontes, incluindo este: como FSFS é melhor , e AFAIK versões mais recentes do Subversion usá-lo como padrão). FSFS é o nome de uma implementação de sistema de arquivos Subversion.
As segundas linhas mantém o UUID do repositório, para uma transição mais fácil (sem interruptor --force-uuid
, a deslocalização cópia de trabalho irá falhar).
Alguns links:
Você também pode usar svnsync para mover o repositório; Dessa forma, você pode transferir todos os dados sem a necessidade de levar o 'velho' para baixo repositório. Esta é também a única maneira que eu conheço para obter seus dados a partir de ambientes hospedados, onde você não tem acesso shell ou acesso a despejar o repositório.
Outra alternativa:
uso svnrdump. http://www.crowbarsolutions.com/backing-up- restaurando-a-remote-svn-repository /
"Você vai precisar aa ferramenta chamada svnrdump. Conforme descrito pelo Apache,“svnrdump replica a funcionalidade do svnadmin dump e svnadmin load, mas funciona em repositórios remotos, em vez de precisar (sistema de arquivos local) o acesso do administrador à fonte ou repositório de destino.”
Se você estiver usando o Ficheiro Tipo de sistema, você pode apenas literalmente levar a pasta que contém o repositório e movê-lo. Se você está mudando servidores, então as chances são que você vai precisar alterar o local em que seus locais de diretório de trabalho olhares para o repositório utilizando o comando 'mudar'.
A maneira mais fácil é usar:
svnadmin hotcopy path/to/your_current_directory /path/to/your_destination_directory