Como eu produzo a diferença entre duas revisões específicas no Subversion?


120

Estou usando o Subversion através da interface da linha de comandos do Linux.

Quero ver a diferença entre a revisão 11390 e 8979 de um arquivo específico chamado fSupplierModel.phpno meu terminal. Como eu posso fazer isso?


Adicione aqui como aplicá-lo de volta: stackoverflow.com/questions/10333712/…
Vadzim

Respostas:


171

Veja svn diffno manual:

svn diff -r 8979:11390 http://svn.collab.net/repos/svn/trunk/fSupplierModel.php

3
Se você deseja uma saída bonita, instale o colordiff e adicione `| colordiff` até o final do comando acima para canalizar tudo através dele.
William Turrell

56

Para comparar revisões inteiras, é simplesmente:

svn diff -r 8979:11390


Se você quiser comparar o último estado confirmado com os arquivos de trabalho salvos no momento, poderá usar palavras-chave de conveniência:

svn diff -r PREV:HEAD

(Observe que, sem nada especificado posteriormente, todos os arquivos nas revisões especificadas são comparados.)


Você pode comparar um arquivo específico se adicionar o caminho do arquivo posteriormente:

svn diff -r 8979:HEAD /path/to/my/file.php


2
colocando CABEÇA: PREV parecia fazer mais sentido para mim na saída do diff, talvez vai ajudar os outros
Fonix

@Fonix você está no paradigma de "como outro commit difere do meu estado atual"? Se sim, eu concordo. Normalmente, penso em alterações cronológicas confirmadas, portanto as alterações feitas no HEAD teriam sido as alterações novas / adicionadas do PREV, que é o paradigma em que costumo pensar. Existem casos e argumentos a serem feitos para qualquer um dos paradigmas.
ahnbizcad
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.