A atualização do CVS ignora diretórios do repositório, ou seja, nomes ilegais em janelas como aux
-
21-12-2019 - |
Pergunta
Tenho problemas para verificar um diretório chamado aux
, porque esse nome é um nome de diretório ilegal no Windows (remanescente do DOS, acredito).Não tenho como manipular o repositório em si.
Eu uso o TortoiseCVS, mas ele não tem a opção de ignorar os diretórios disponíveis no repositório.Usando .cvsignore
também não está funcionando, porque isso apenas ignora commits.
Isso é possível em tudo?O TortoiseCVS simplesmente diz o seguinte, o que é bastante desanimador:
Dica de tartaruga:Este erro pode ser causado por ter uma pasta e um arquivo com o mesmo nome (exceto letras maiúsculas) no repositório.Tal repositório NÃO PODE ser verificado em um sistema de arquivos do Windows.
O erro real do CVS é este:
cvs [atualização abortada]:não foi possível chdir para aux:Endereço incorreto
Observação:Posso conviver com uma solução onde posso fazer check-out de todas as pastas, exceto esta.Como existem mais de 1.000 pastas, não é trivial apenas verificar todas as outras pastas manualmente.
Solução
Aqui está o que eu faria:
- Ligue uma máquina Linux (física ou virtual, instalação real de DVD ao vivo, não importa).
- Confira o projeto usando
cvs
. - Remova o conteúdo do diretório usando
cvs rm
e confirme as alterações.- Observe que o cvs não permite que você remova diretórios, infelizmente.
- Volte para a máquina Windows e verifique o projeto novamente ou faça um
cvs update
.
Uma coisa que você precisará fazer é adicionar o -P
opção que removerá diretórios vazios.Se você não adicionar isso, ele ainda tentará baixar o arquivo vazio aux
diretório.