Posso usar links simbólicos para cvs raiz para consolidação de servidores simplificar?
Pergunta
Estamos consolidando dois servidores cvs antigo para uma nova caixa.
Eu esperava o seguinte: alterando as entradas DNS para oldserver1 e oldserver2 (bem como alguns manutenção de conta de usuário) iria fazer o movimento transparente para os usuários do CVS.
Problema:
Estou tendo problemas devido às diferentes raízes cvs em cada servidor antigo.
Fundo
Os servidores antigos tiveram os seguintes cvs diretórios do repositório:
- velho cvs server1 root: / cvshome
- server2 velho cvs root: / usr / local / cvs
Sobre a distribuição estamos usando o diretório do repositório padrão é / var / cvs. I optou por ficar com este, ou seja:
- novo cvs servidor raiz: / var / cvs
Meta ??strong>
Eu gostaria o mínimo de interrupção no-projetos com check-out existentes, ou seja, não ter que encontrar / substituir todos os arquivos 'root' em cada unidade de disco rígido na empresa.
Para esclarecer, CVSROOT e CVS entradas / root para olhar server1 velha como esta:
pserver:username@oldserver1:/cvshome
As tentativas
Eu tentei isso:
criar um link simbólico no novo servidor
/cvshome points to /var/cvs
ln -s /var/cvs /cvshome
No entanto, quando tento uma atualização (ou seja, a partir de uma estação de trabalho que apontavam para servidor antigo 1), eu recebo este erro:
/cvshome : no such repository
Resumo
Posso usar links para 'alias' um repositório cvs?
ou que eu preciso 'morder a bala' e mudar todos os arquivos 'root' em todos os discos rígidos?
graças,
Bill
Solução
No Linux, quando você dá um comando o caminho para um link simbólico que aponta para um diretório, não faz diferença se você acrescentar uma barra ou não:
$ ls -l /cvsroot
iria listar o inode do link simbólico, enquanto
$ ls -l /cvsroot/
iria listar o conteúdo do diretório os pontos link simbólico para. Este comportamento é diferente do que você veria se cvsroot era um diretório real.
Eu não tenho certeza se esse é o seu problema, mas tente adicionar uma barra. Se ajudar, você deve ser capaz de fazer check-outs, atualizações etc. tudo abaixo da raiz do repositório.
Outras dicas
Isto pode ajudar alguém, desculpe a comentar sobre uma discussão antiga.
O que funcionou para mim foi a mudança do --allow-root no /etc/xinetd.conf:
server_args = -f --allow-root /usr/local/cvsroot pserver
O link simbólico / apelido agora trabalha neste novo servidor onde me mudei o repositório.