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?

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

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

2

Atualize para uma revisão específica:

svn up -r1234 file

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.


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.


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...)

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.