Se você excluir um diretório de uma cópia de trabalho SVN, mas ainda não tiver confirmado, não é óbvio como recuperá-lo. O Google até sugere "svn undo delete before commit" como uma consulta comum quando você digita "svn undo d", mas os resultados da pesquisa são inúteis.
edit: Eu gostaria de uma solução que funcione no subversion 1.4.4
Respostas:
svn revert deletedDirectory
Aqui está a documentação para o
svn revert
comando.EDITAR
Se
deletedDirectory
foi excluído usandormdir
e nãosvn rm
, você precisará fazersvn update deletedDirectory
em vez de.
fonte
svn delete
para excluir o diretório, mas o excluiu usandormdir
, será necessáriosvn update deletedDirectory
.1) fazer
2) analisar a saída para erros como
3) chame svn up para cada um dos diretórios de erro:
fonte
svn up
fazer o check-out, percebi o conflito, fizsvn resolved foo
esvn status
me disse que eu tinha cerca de 10k arquivos marcados comoD
.svn up
esvn revert
não os recuperou, mas isso resolveu o problema.--recursive
qual ajuda a restaurar o conteúdo dos diretórios excluídos.O que funcionou para mim é
fonte
Faça uma operação de reversão (recursiva) de um nível acima do diretório que você excluiu.
fonte
Para transformá-lo em uma linha, você pode tentar algo como:
fonte
A solução mais simples que encontrei foi excluir o diretório pai da cópia de trabalho (com rm -rf, não svn delete) e executar o svn update nos avós. Por exemplo, se você excluiu a / b / c, rm -rf a / b, cd a, svn up. Isso traz tudo de volta. Obviamente, essa é apenas uma boa solução se você não tiver outras alterações não confirmadas no diretório pai que deseja manter.
Espero que esta página esteja no topo dos resultados da próxima vez que pesquisar esta pergunta no Google. Seria ainda melhor se alguém sugerisse um método mais limpo, é claro.
fonte
Você pode remover a pasta e atualizar o diretório pai antes de confirmar:
rm -r some_dir
svn update some_dir_parent
fonte