Qual é a melhor maneira de replicar um repositório de controle de versão?

StackOverflow https://stackoverflow.com/questions/16097

  •  08-06-2019
  •  | 
  •  

Pergunta

Aqui está o cenário que eu tenho.Tenho um repositório cvs em um local (A) e quero replicá-lo e mantê-lo sincronizado com um repositório em outro local (B).Esta seria uma sincronização direcional única de A para B.Qual é a melhor maneira de fazer isso?Se isso não for realmente viável no CVS, qual sistema de controle de código-fonte você recomendaria para fazer isso?Obrigado

Foi útil?

Solução

Ao usar o CVS, não conheço nenhuma ferramenta para fazer isso além da sincronização de arquivos.Você pode conseguir isso usando ferramentas como rsync (Unix) ou xcopy/robocopy (Janelas).

Se você planeja migrar para o Subversion, ele fornece uma ferramenta chamada svnsync que permite sincronizar um repositório de outro.

Outras dicas

Eu recomendaria que você migrasse do CVS para um sistema de controle de versão distribuído adequado, como idiota, que fornecerá esse tipo de funcionalidade com muita naturalidade.

O Subversion também fornece o svnsync, que faz o mesmo tipo de coisa.

Se você adotar a abordagem rsync/filecopy com CVS, é importante sincronizar os arquivos apenas em um momento em que não haja um commit ativo.Caso contrário, o arquivo de bloqueio do repositório será copiado e você não poderá fazer checkout/atualização no lado de destino até a próxima sincronização.

Esta razão por si só pode tornar o CVS uma má escolha.O caminho de migração do CVS para o Subversion é bastante tranquilo e existem ferramentas para importar um repositório CVS completo, com histórico, para o Subversion.

Considere o Git ou o Mercurial se você deseja obter versões verdadeiramente distribuídas, mas parece que isso seria um exagero para suas necessidades "somente leitura".

A melhor (e talvez a mais cara) maneira é Clearcase Multisite

Mas se você está procurando código aberto, Git está substituindo rapidamente o svn em todos os lugares.

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