Como visualizo uma versão mais antiga de um arquivo SVN?

156

Eu tenho um arquivo SVN que agora está faltando alguma lógica e, portanto, preciso voltar cerca de 40 revisões para o momento em que ela possuía a lógica de que preciso. Além de tentar visualizar um diff do arquivo na linha de comando ( muito difícil de ler ), existe alguma maneira de obter uma cópia desse arquivo para revisar para que eu possa estudá-lo para recuperar peças?

Xeoncross
fonte

Respostas:

237

Você pode atualizar para uma revisão mais antiga:

svn update -r 666 file

Ou você pode apenas visualizar o arquivo diretamente:

svn cat -r 666 file | less
John Kugelman
fonte
13
svn cat -r 666 file | lessé perfeito para que eu possa ler com o vim!
Xeoncross
4
@sillyMunky Try svn cat | vim -. Se o realce da sintaxe do vim não aparecer automaticamente, faça :set syntax=java(ou qualquer outro idioma).
precisa
1
Muito obrigado John, na verdade, eu estou no debian e descobri que há um pequeno pacote de destaque de sintaxe chamado 'source-realce', para que menos possa capturar automaticamente o realce da sintaxe (na verdade, agora eu alias isso a menos para distinção).
sillyMunky
2
svn cat -r 666 file> file_666.js se você quiser ver o arquivo inteiro: p
Parijat Kalia
ou se você estiver usando o bash vim +set\ ft=<FILETYPE> <( svn cat -r <REV> <FILE> )
h4unt3r 2/14/14
5

Também é interessante comparar o arquivo da revisão de trabalho atual com o mesmo arquivo de outra revisão.

Você pode fazer o seguinte:

$ svn diff -r34 file
Kreshnik
fonte
2

Atualize para uma revisão específica:

svn up -r1234 file
chris
fonte
1

Acredito que a melhor maneira de visualizar as revisões é usar um programa / aplicativo que facilite para você. Eu gosto de usar o trac: http://trac.edgewall.org/wiki/TracSubversion

Ele fornece um ótimo navegador svn e torna muito fácil voltar às suas revisões.

Pode ser um pouco exagerado configurá-lo para uma revisão específica que você deseja verificar, mas pode ser útil se você fizer muito isso no futuro.

wajiw
fonte
1

Usando as versões mais recentes do Subclipse , é possível visualizá-las sem usar o prompt do cmd. No arquivo, basta clicar com o botão direito do mouse => Equipe => Alternar para outro ramo / tag / revisão. Além do campo de revisão, você clica em selecionar e verá todas as versões desse arquivo.

Kheem
fonte
1

Para responder diretamente à pergunta de como "obter uma cópia desse arquivo":

svn cat -r 666 file > file_r666

então você pode ver o recém-criado file_r666com qualquer visualizador ou programa de comparação, por exemplo

kompare file_r666 file

mostra bem as diferenças.

Postei a resposta porque os comandos da resposta aceita na verdade não fornecem uma cópia do arquivo e porque svn cat -r 666 file | vimnão funciona com meu sistema ( Vim: Error reading input, exiting...)

rehctawrats
fonte