Jak wyświetlić historię wersji pliku Mercurial?

Dla danego pliku w repozytorium Mercurial, jak możesz zobaczyć historię wersji?

A jak można oddzielić dwie wersje pliku?

Najlepiej zrobić to wszystko za pomocą narzędzi wizualnych (używamy ExamDiff do robienia innych diffów).

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

Author: Marcus Leon, 2010-08-11

4 answers

hg log file

hg diff -r 10 -r 20 file
 130
Author: zerkms,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-08-11 14:21:10

Rozszerzenie hgk daje hg view file polecenie, które pokazuje historię wizualną, z której można odróżnić/vdiff dowolną parę zmian.

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

 28
Author: Geoffrey Zheng,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-02-22 10:36:56

Dla czytelności

hg diff -r revision1:revision2 file

Gdzie revision1 i revision2 mogą być tagami, zestawami zmian itp.

 9
Author: Carlo Chum,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-07-04 05:47:01

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

Dla użytkowników Linuksa, można to zrobić w TortoiseHg, ale zajęło mi trochę czasu, aby dowiedzieć się, jak. Musisz kliknąć prawym przyciskiem myszy żądany plik i wybrać "Historia plików". Jednak z jakiegoś tajemniczego powodu plik musi pozostać niezmieniony. Ponadto, aby znaleźć żądany plik, są dwie opcje:

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

file("**<myfile>")

The double ** są niezbędne do rekurencyjnego przeszukiwania katalogów. Daje to natychmiast listę wszystkich repozytoriów, w których żądany plik został zmieniony.

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

Użytkownicy Linuksa mogą to zrobić z terminala, zgodnie z sugestią Geoffreya Zhenga powyżej:
thg log file
 5
Author: Jasper Uijlings,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-09-10 11:38:04