Jak wyświetlić historię zmian dla pliku Mercurial?


106

W przypadku danego pliku w repozytorium Mercurial, jak wyświetlić historię zmian?

Jak możesz porównać dwie wersje pliku?

Najlepiej robić to wszystko za pomocą narzędzi wizualnych (używamy ExamDiff do wykonywania innych różnic).

Powiedziałbym, że jest to podstawowa funkcja kontroli źródła, ale nie wiem, jak to zrobić z Mercurialem.

Odpowiedzi:


129
hg log file

hg diff -r 10 -r 20 file

1
Idealnie .. Działa również z ExamDiff:hg examdiff -r 10 -r 20 file
Marcus Leon,

2
przydatne może być również wyszukanie słowa kluczowego zamiast dokładnej nazwy pliku, hg log -k słowo kluczowe
Despertar

To daje mi zerową wydajność / odpowiedź; nic się nie dzieje.
temporary_user_name

27

Przedłużenie HGK daje hg view filekomendę, która pokazuje historię wizualną, od którego można diff / vdiff dowolną parę zmian.

TortoiseHg daje thg log filepolecenie, które robi to samo, ale wygląda lepiej.


bardzo dobrze! ale „hgtk” jest teraz tylko opakowaniem, proszę używać „thg” na Linuksie
milkplus

1
hgk działa dla całych wersji, ale jak to zrobić, aby porównać poszczególne pliki ?
keflavich

9

Dla czytelności

hg diff -r revision1:revision2 file

Gdzie wersja 1 i wersja 2 mogą być etykietą, zestawem zmian itp.


5

Jeśli używasz TortoiseHg: użytkownicy Windows mogą używać Eksploratora Windows i przeglądać historię wersji, klikając prawym przyciskiem myszy plik.

Użytkownicy Linuksa mogą to zrobić w TortoiseHg, ale zajęło mi trochę czasu, zanim zrozumiałem, jak to zrobić. Należy kliknąć żądany plik prawym przyciskiem myszy i wybrać „Historia plików”. Jednak z jakiegoś tajemniczego powodu plik musi pozostać niezmieniony. Ponadto, aby znaleźć żądany plik, istnieją dwie opcje:

W ### revision set query###jednym można wpisać:

file("**<myfile>")

Podwójne ** są niezbędne do rekurencyjnego przeszukiwania katalogów. To daje natychmiastową listę wszystkich repozytoriów, w których żądany plik został zmieniony.

Alternatywnie, obok ### filter text ###najpierw kliknij znak zapytania i wybierz „wyczyść”, aby zobaczyć wszystkie pliki w repozytorium. Następnie w ### filter text ###polu możesz zawęzić liczbę wyświetlanych plików.

Alternatywnie użytkownicy Linuksa mogą to zrobić z terminala, jak zasugerował Geoffrey Zheng powyżej:

thg log file

Może zmieniło się to od 2010 roku, ale mogę kliknąć zmodyfikowany plik w THG i wyświetlić historię wersji.
UuDdLrLrSs
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.