migração SVN -

1

Eu preciso migrar um servidor SVN com vários repositórios para um novo servidor. O antigo servidor foi construído em um sistema operacional legado que tem problemas, então decidi reconstruí-lo.

Eu sei apenas algumas noções básicas sobre o uso do SVN, e não tenho certeza se preciso usar a rota de despejo / carga ou se posso usar o svnsync para migrar para um novo servidor.

Eu continuo encontrando referências para o svnsync sendo usado para espelhos 'somente leitura'. Isso não é exatamente o que eu quero. Estou tentando migrar todos os dados do servidor SVN existente A para o servidor SVN recém-criado B.

Quando isso terminar, o servidor A desaparecerá e todos os usuários do SVN estarão usando o servidor B.

Por favor, informe sobre a maneira mais fácil de fazer isso. Até agora eu tenho o novo servidor SVN com os repositórios (vazios) criados.

    
por Baazigar 18.05.2015 / 23:16

1 resposta

1

Apenas postando para qualquer outra pessoa com a mesma pergunta. A questão se resume em saber se o svnsync é apenas para espelhos ou pode ser usado para migração.

Citando a entrada de Dave Anderson dos grupos do Google:

Ele pode ser usado para realizar a migração e é a única maneira de executar migração para o Google Code. O aviso no livro do Subversion deve ser leia como: "Se você quiser espelhos somente leitura, certifique-se de nunca cometer qualquer coisa para ele manualmente, caso contrário, o svnsync não será mais capaz de sincronizar a partir do repositório principal ".

Mas, internamente, o svnsync é um programa trivial: ele solicita um fluxo de revisões de um servidor e reproduz essas revisões em outro servidor. Enquanto o servidor de destino não divergir (ou seja, não tem qualquer commit não na fonte), então o svnsync pode ser executado incrementalmente para ficar em sincronia. Mas você também pode apenas executá-lo uma vez, para sincronizar dois repositórios, em seguida, jogar fora o original e começar a usar o sincronizado cópia.

Quanto à diferença entre dump / load e svnsync, o básico A diferença é que o svnsync funciona inteiramente através do servidor público API, enquanto dump / load opera diretamente nos arquivos do repositório. Ambos mecanismos obtêm exatamente os mesmos dados, mas implementando apenas O svnsync é muito mais simples para nós. A implementação do dump / load exigiria tempo de desenvolvimento adicional e recursos para não muito benefício. Historicamente, o dump / load era originalmente mais fácil de se ter, mas ao longo do tempo a necessidade de uma maneira pública de fazer despejo / carga incremental tornou-se óbvia, e o svnsync surgiu.

Então, linha de fundo: sim, use o svnsync. Se você seguir a documentação, considere o Google Code como seu "espelho somente leitura". Uma vez o a sincronização está completa, apenas delete (ou arquive e faça backup :) seu repositório local e comece a usar o repositório do Google Code como usual.

Espero que isso ajude, - Dave

    
por 19.05.2015 / 17:49

Tags