
Eu tenho uma cópia de trabalho grande e antiga do repositório svn que verifiquei há muito tempo. Gostaria de exportar e salvá-lo preservando a estrutura de diretórios.
Com o tempo, excluí a maioria dos subdiretórios e arquivos em vários níveis como desnecessários. Eu gostaria de exportar o resto usando svn export
.
No entanto, a exportação é interrompida devido a erros como este:
svn: Can't stat 'WSN/Somedir': No such file or directory
Eu gostaria de evitar svn update
pelos seguintes motivos:
- O repositório é antigo e não é mais servido
- Mesmo que estivesse online, os diretórios que faltam têm muitos gigabytes que eu preferiria não gastar tempo e espaço baixando.
Uma solução que conheço é copiar a árvore inteira e executar o comando de exclusão recursiva que remove todos os diretórios ".svn".
No entanto, existe uma maneira mais limpa de solicitar svn
uma exportação que ignore arquivos e diretórios ausentes?
Responder1
Se você executar svn status
, obterá uma lista de ativos ausentes. Eles são sinalizados com os !
personagens; por exemplo:
$ svn status
? default.cfg
! models
Neste exemplo, a models
pasta foi excluída e, portanto, está marcada com uma extensão !
.
Para corrigir isso, você precisa excluir essas pastas ausentes com svn rm
; no exemplo seria:
$ svn rm models
D models
D models/model1.png
D models/model2.png
Em seguida, confirme e a exportação deverá funcionar posteriormente.
Responder2
Ou você pode reverter apenas esse subdiretório. Faça isso mudando o diretório para a pasta que deseja reverter, para não reverter a coisa errada. Então digite:
svn reverter -R.
Agora você pode atualizar e exportar como quiser.