“Exportar” uma verificação de CVS

0

Eu tenho um checkout de um repositório CVS. O repositório original não existe mais. Seria possível executar algo semelhante a "exportar" no próprio checkout? O que eu gostaria de fazer é o conjunto de todos os arquivos que vieram da finalização e remover os arquivos que foram adicionados depois.

Exemplo: confiro o superProject e recebo %código% E então eu adiciono %código% e, em seguida, gostaria de remover todos os arquivos que não estavam no checkout original.

    
por Christian Neverdal 25.06.2010 / 12:09

2 respostas

3

cvsu faz uma atualização de cvs off-line, comparando os timestamps de arquivos em disco com seus timestamps registrados em %código%. Você pode, portanto, dizer quais arquivos foram modificados localmente e quais arquivos não estão sob controle do CVS.

sudo aptitude install cvsutils
cvsu --batch="tar cf export.tar " --types=AFGM

Execute CVS/Entries para ver as opções de linha de comando suportadas. Essa funcionalidade é fornecida pelo Perl e pode variar de uma máquina para outra.

No Windows, o Cygwin oferece suporte .

    
por 25.06.2010 / 23:54
1

Acabei de notar o seu comentário e editei a minha resposta em conformidade.

Minha resposta inicial foi: basta remover todos os diretórios chamados "CVS"

Naturalmente, se mais coisas foram adicionadas aos diretórios com check-out, você deve seguir um caminho diferente. O CVS mantém seus metadados em um subdiretório CVS em cada diretório com check-out. Os vários arquivos são descritos na página 16 do Cederqvist manual.

No seu caso, as informações interessantes são mantidas no arquivo Entries , que tem dois formatos de linha diferentes:

/filename/...other stuff...
D/directory/...filler...

O primeiro para arquivos simples, o segundo para diretórios; não há uma ordem específica.

Você pode escrever um script que percorra a árvore de diretórios, extraindo nomes de diretórios e arquivos desses arquivos Entries . Você pode alimentar essa lista em cpio -pmdv target-dir para criar uma cópia de sua estrutura de diretório, que contém exatamente os arquivos, que cvs export teria criado.

Espero que isso ajude

    
por 25.06.2010 / 12:48