Jak wyświetlić różnicę między dwiema konkretnymi wersjami w Subversion?


120

Używam Subversion przez interfejs wiersza poleceń Linuksa.

Chcę zobaczyć różnicę między wersjami 11390 i 8979 określonego pliku wywołanego fSupplierModel.phpw moim terminalu. Jak mogę to zrobić?


Dodaj tutaj, jak zastosować to z powrotem: stackoverflow.com/questions/10333712/…
Vadzim

Odpowiedzi:


171

Zobacz svn diffw instrukcji:

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

3
Jeśli chcesz mieć ładny wynik, zainstaluj colordiff i dodaj `| colordiff` do końca powyższego polecenia, aby wszystko przez niego przepuścić.
William Turrell

56

Aby porównać całe wersje, wystarczy:

svn diff -r 8979:11390


Jeśli chcesz porównać ostatnio zatwierdzony stan z aktualnie zapisanymi plikami roboczymi, możesz użyć wygodnych słów kluczowych:

svn diff -r PREV:HEAD

(Uwaga: bez późniejszego określenia wszystkich plików w określonych wersjach są porównywane).


Możesz porównać konkretny plik, jeśli później dodasz ścieżkę do pliku:

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


2
umieszczenie HEAD: PREV wydawało mi się bardziej sensowne w wynikach diff, może pomoże innym
Fonix

@Fonix Czy jesteś w paradygmacie „w jaki sposób inne zatwierdzenie różni się od mojego obecnego stanu”? Jeśli tak, zgadzam się. Zwykle myślę o zatwierdzeniach zmian chronologicznych, więc zmiany dokonane w HEAD byłyby nowymi / dodanymi zmianami z PREV, co jest paradygmatem, o którym zwykle myślę. Istnieją przypadki i argumenty, które należy przedstawić dla każdego z paradygmatów.
ahnbizcad
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.