Comando CVS para listar todos os módulos disponíveis para checkout?

3

Estou executando o CVS em um bash shell.

Estou apenas tentando ver quais módulos estão disponíveis para check-out.

Estou pesquisando há algum tempo e a única coisa que eu tenho é:

cvs checkout -c

que executa mas não mostra nada. Agora eu sei que é possível que simplesmente não haja módulos para check-out, mas isso é mais um palpite para mim neste momento, e se contentar com adivinhações raramente funciona bem.

ATUALIZAÇÃO:

Estou executando a versão 1.11.23

aparentemente esta versão não suporta cvs ls Felicidades.

    
por Rooster 09.08.2013 / 23:13

2 respostas

1

O hackery a seguir deve funcionar com 1.11. * versões de cliente e servidor do cvs. Eu imagino que funcionará com os outros, mas essas são as versões que eu tenho localmente para testar.

mkdir -p dummy/CVS
cd dummy
echo . > CVS/Repository
touch CVS/Entries
cvs -d$CVSROOT -n co . | awk '{print $5}'

Para aplicar isso a diretórios aninhados arbitrariamente na hierarquia cvs, os diretórios locais correspondentes também devem existir. Para encontrar os diretórios disponíveis em $CVSROOT/test_project/some_subdir (por exemplo), o seguinte parece funcionar.

cd dummy
mkdir -p test_project/some_subdir
cvs -d$CVSROOT -n co test_project/some_subdir

Solte o awk se isso não mostrar o que você espera. A saída pode ser um pouco diferente do que eu consegui.

Se você está falando diretamente o protocolo cvs wire, você pode fazer uma coisa parecida sem o hackery do diretório que eu acredito, mas eu teria que cavar mais um monte para resolver isso novamente. (Acredito que o Zend / Eclipse faz isso quando detecta uma versão mais antiga do servidor cvs.)

    
por 10.08.2013 / 00:38
2

se a sua versão do cvs é nova o suficiente, você deve ser capaz de fazer um

cvs ls

Se não, provavelmente você pode simplesmente ir ao servidor cvs para examinar o repositório em si.

    
por 09.08.2013 / 23:18