Pergunta

Eu estou trabalhando atualmente em um projeto com desenvolvedores trabalhando em três locais. Um dos sites está em Delhi, na Índia, enquanto os outros dois estão na Europa. A comunicação entre os escritórios europeus e o escritório em Delhi tem baixa largura de banda e latência muito ruim, e uma atualização CVS de lá muitas vezes leva 5-10 minutos, embora apenas alguns arquivos foram alterados.

Existe algum proxies boa CVS lá fora, ou qualquer maneira elegante de manter servidores CVS separados em sincronia? Você tem outras dicas sobre como o desempenho pode ser melhorado nesse cenário?

Infelizmente, nós vai ser preso com CVS durante o escopo deste projeto, para mudar para algo completamente diferente não é uma opção no curto prazo.

Foi útil?

Solução

Por que não é a mudança é uma opção?

Eu recomendo para mudar para o SVN ou git vez. E que você fazer esta conversão o mais cedo possível ... como hoje:)

Há mesmo svn ferramentas / guias e git ferramentas / guias lá fora, que vai fazer esta conversão CVS para você.

Eu pessoalmente uso e amor SVN para o meu trabalho, mas com base na sua descrição acima, parece que git pode ser a melhor opção para você.

Outras dicas

Aqui está o que eu fiz há muito tempo em circunstâncias semelhantes quando a largura de banda e as redes não confiáveis ??eram um problema:

  • Faça uma cópia do repositório e instalá-lo no local remoto. Você sabe que tem CVS1 e CVS2.
  • Bloqueio de uma das duas cópias (CVS1), impedindo commits. Isto é conseguido através da modificação 'commitinfo' no módulo CVSROOT.
  • CVS1 pode ser usado para atualizações somente
  • CVS2 pode ser usado para atualizações e comprometer

Quando você quiser dar acesso em comprometer-se a copiar 1, faça o seguinte:

  • Bloqueio CVS2
  • Copiar CVS2 para CVS1
  • Unlock CVS1

Este sons complicado, e é se você fazê-lo manualmente, mas funciona. Ele requer um pouco de disciplina, se você fazê-lo manualmente. Pode ser fusos horários estão do seu lado pela primeira vez.

Eu escrevi uma ferramenta para manter o controle de quem tinha a cometer repositórios de transferência de token e a partir de um local para outro automaticamente via rsync e SSH. Funcionou muito bem para um par de anos. Nós nunca perdeu quaisquer dados e levou cerca de 5 minutos para transferir o sinal de um local para outro.

A ferramenta de transferência foi escrito em perl e ele me levou cerca de duas semanas para desenvolvê-lo, trabalhar nele em tempo integral.

Eu sei que há muito tempo os desenvolvedores do FreeBSD usado CVSup mas eu nunca usei essa ferramenta eu.

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