Posso usar links simbólicos para cvs raiz para consolidação de servidores simplificar?

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

  •  05-07-2019
  •  | 
  •  

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
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

Foi útil?

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.

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