O svn possui um comando `revert-all`?


159

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

Quem usa -fr em vez de -rf? Há uma razão pela qual é pronunciado rimraf, não rimfer.
— Jimmy Hoffa

@JimmyHoffa Qual é o motivo?
— Eric Wilson

3
Wilson da convenção! Convenções, senhor! Sem nossa disciplina e tradições culturais, somos apenas selvagens! Eu digo, bom dia senhor!
— Jimmy Hoffa

Respostas:


306

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

2
Bem-vindo ao SO, e obrigado por uma resposta completa, pois svn revert -Rnão é equivalente aos dois comandos que dei.
— Eric Wilson

1
Para remover todos os arquivos que não estão sob controle de versão na linha de comando do Windows, a resposta está aqui: stackoverflow.com/a/1502365/1385429
— Christiaan Westerbeek

O mashzo do usuário apontou (em uma resposta agora excluída) que o -Rsinalizador 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.
— Jeremy Banks

27

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


7
-Ré equivalente a--depth=infinity
— Michael Burr

4
Seu cmd "svn revert -R" está ausente no diretório atual da sintaxe. Deve ser "svn revert -R".
— boddhisattva

Atualmente, a postagem parece -Rser mutuamente exclusiva --depth-infinityquando não é.
— Ahnbizcad

@ahnbizcad Não são esses dois sinônimos exatos, afinal?
— Nyerguds

Esse é meu argumento. Essa resposta faz os dois parecerem diferentes quando não são. "mutuamente exclusivas" = oposto sinônimo
— ahnbizcad

17

Use a opção recursiva --recursive (-R)

svn revert -R .

0

Para reverter arquivos modificados:

sudo svn revert
svn status|grep "^ *M" | sed -e 's/^ *M *//'

Acho que minha alteração de formatação representa o que você deseja. Reversão, se você não gostar. E graças, é bom lembrar os velhos tempos de SVN ... :)
— Eric Wilson
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.