Jak wyświetlić starszą wersję pliku SVN?

156

Mam plik SVN, w którym brakuje teraz pewnej logiki, więc muszę cofnąć się o około 40 wersji do czasu, w którym miał logikę, której potrzebuję. Oprócz próby wyświetlenia pliku różnicowego w wierszu poleceń ( bardzo trudnego do odczytania ), czy jest jakiś sposób, aby uzyskać kopię tego pliku do przejrzenia, aby móc go przestudiować w celu odzyskania części?

Xeoncross
źródło

Odpowiedzi:

237

Możesz zaktualizować do starszej wersji:

svn update -r 666 file

Lub możesz po prostu wyświetlić plik bezpośrednio:

svn cat -r 666 file | less
John Kugelman
źródło
13
svn cat -r 666 file | lessjest doskonały, więc mogę go przeczytać za pomocą vima!
Xeoncross
4
@sillyMunky Try svn cat | vim -. Jeśli podświetlanie składni vima nie włącza się automatycznie, zrób :set syntax=java(lub w jakimkolwiek innym języku).
John Kugelman
1
Wielkie dzięki, John, właściwie jestem na Debianie i znalazłem ładny mały pakiet do podświetlania składni o nazwie 'source-highlight', więc less może automatycznie pobierać podświetlanie składni (właściwie teraz aliasuję to do lesss dla rozróżnienia).
sillyMunky
2
svn cat -r 666 file> file_666.js, jeśli chcesz wyświetlić cały plik: p
Parijat Kalia
lub jeśli używasz bash vim +set\ ft=<FILETYPE> <( svn cat -r <REV> <FILE> )
h4unt3r
5

Interesujące jest również porównanie pliku bieżącej wersji roboczej z tym samym plikiem innej wersji.

Możesz wykonać następujące czynności:

$ svn diff -r34 file
Kreshnik
źródło
2

Zaktualizuj do określonej wersji:

svn up -r1234 file
chris
źródło
1

Uważam, że najlepszym sposobem przeglądania poprawek jest użycie programu / aplikacji, która Ci to ułatwi. Lubię używać trac: http://trac.edgewall.org/wiki/TracSubversion

Zapewnia świetną przeglądarkę svn i naprawdę ułatwia powrót do twoich wersji.

Ustawienie tego dla jednej konkretnej wersji, którą chcesz sprawdzić, może być trochę przesadą, ale może być przydatne, jeśli zamierzasz robić to często w przyszłości.

wajiw
źródło
1

Korzystając z najnowszych wersji Subclipse , możesz je przeglądać bez używania polecenia cmd. Na pliku kliknij prawym przyciskiem myszy => Zespół => Przełącz do innej gałęzi / tagu / wersji. Oprócz pola wersji kliknij wybierz, a zobaczysz wszystkie wersje tego pliku.

Kheem
źródło
1

Aby bezpośrednio odpowiedzieć na pytanie, jak „uzyskać kopię tego pliku”:

svn cat -r 666 file > file_r666

następnie możesz obejrzeć nowo utworzone za file_r666pomocą dowolnej przeglądarki lub programu porównawczego, np

kompare file_r666 file

ładnie pokazuje różnice.

Wysłałem odpowiedź, ponieważ polecenia zaakceptowanej odpowiedzi faktycznie nie dają kopii pliku i ponieważ svn cat -r 666 file | vimnie działa z moim systemem ( Vim: Error reading input, exiting...)

rehctawrats
źródło