Programa / script para 'andar' através do histórico de revisões do svn

0

Procurando por um programa ou script, eu posso usar para "caminhar" facilmente através de um histórico de revisão do SVN para um arquivo específico. Alguém sabe se isso existe? Posso conseguir isso com o cliente de linha de comando para svn?

O que eu gostaria de poder fazer:

  • solicita diff para arquivo entre a revisão xe x-1 (eu uso um script que me mostra o diff no vimdiff, similar a este: link )
  • enquanto estiver dentro do vimdiff, chame o comando 'next' ou 'prev' e mostre-me diff entre xe x-2, ou entre x-1 e x-2

Eu inventaria algo em bash / sed / awk, mas prefiro usar algo que já existe.

    
por klokop 05.03.2012 / 11:34

2 respostas

1

svn log -q -v filename e saída de processamento para revlist

svn diff -c M filename para alterações no nome do arquivo na revisão M

    
por 05.03.2012 / 12:25
0
svn log FILENAME_GOES_HERE --limit 20 | grep -P 'r\d+ \|' | sed s/^r// | sed s/\ .*// | xargs -L 1 svn diff DancerAdmin/templates/Common/inputs/ss-dropdown.html -c | less

Provavelmente, existe uma maneira melhor de fazer isso com awk em vez de sed, ou até mesmo uma maneira melhor de fazê-lo com sed, mas isso funciona.

Exibe as últimas 20 versões deste arquivo para less . A partir daí, você pode pesquisar por Index: ( /Index:[Enter] ) e depois usar n / N para "paginar" para cima e para baixo no histórico de revisões.

Apenas para explicar o que está acontecendo aqui;

  1. svn log para obter uma lista de revisões em que o arquivo é modificado.
  2. grep para linhas com o número de revisão.
  3. sed para retirar todas as outras informações da linha, deixando apenas os números de revisão.
  4. xargs (com -L 1) para obter repetidamente o diff do arquivo de cada revisão específica e, finalmente, ...
  5. less para torná-lo "navegável"
por 21.08.2017 / 22:08