Se eu quiser jogar fora todas as minhas alterações e retornar ao código que está no repositório, faça o seguinte:
$ rm -fr *
$ svn up
Isso é fácil, mas estou me perguntando se existe um único comando que fará isso, algo como:
$ svn revert-all
Se eu quiser jogar fora todas as minhas alterações e retornar ao código que está no repositório, faça o seguinte:
$ rm -fr *
$ svn up
Isso é fácil, mas estou me perguntando se existe um único comando que fará isso, algo como:
$ svn revert-all
Respostas:
Você poderia fazer:
svn revert -R .
Isso não excluirá nenhum novo arquivo que não esteja sob controle de versão. Mas você pode escrever facilmente um script de shell para fazer isso da seguinte maneira:
for file in `svn status|grep "^ *?"|sed -e 's/^ *? *//'`; do rm $file ; done
svn revert -R
não é equivalente aos dois comandos que dei.
-R
sinalizador pode ser necessário para garantir que os diretórios não-versionados também sejam excluídos, como parte do descarte de todas as alterações. Considere incorporar isso em sua resposta, se isso lhe parecer apropriado.
Existe um comando
svn revert -R .
OU
você pode usar o - profundidade = infinito, que é realmente o mesmo que acima:
svn revert --depth=infinity
svn revert
é inerentemente perigoso, pois seu objetivo é jogar fora os dados - ou seja, suas alterações não confirmadas. Depois de revertido, o Subversion não oferece como recuperar essas alterações não confirmadas
-R
é equivalente a--depth=infinity
-R
ser mutuamente exclusiva --depth-infinity
quando não é.
Para reverter arquivos modificados:
sudo svn revert
svn status|grep "^ *M" | sed -e 's/^ *M *//'