2009-08-21 9 views
30

Jak mogę sprawdzić zestaw zmian w mercurial bez sprawdzenia jego rodzica? W Mercurial, co jest odpowiednikiemBadanie zestawu zmian w HG

git show HEAD^ 

Git-show daje metadane changeset i diff również.

Odpowiedz

55

Twoje pytanie składa się z dwóch części. Po pierwsze, jak uzyskać metadane i diff dla changeset wszystko naraz:

hg log --patch --rev tip 

można skrócić opcje:

hg log -pr tip 

Druga część pytania jest to, jak powiedzieć, że „changeset rodzic X "bez patrzenia w górę. Do tego możesz użyć wymienionego Martina parentrevspec extension.

Po włączyć rozszerzenie można zrobić:

hg log -pr tip^ 

Można dodać alias do pliku ~/.hgrc jeśli nie chcą się przekwalifikować swoje palce z poleceniem git to:

[alias] 
show = log -pr 

Następnie możesz użyć:

hg show tip^ 
+2

Bez parentrevspec mógł po prostu zrobić "-r -2", aby uzyskać zestaw zmian przed napiwkiem, prawda? –

+2

Tak, to prawda. To jednak nie działa na coś takiego jak "hg show mytag ^", prawda? –

+2

Ogólnie rzecz biorąc, w tym przypadku preferowany jest "hg export" (zawiera on pełną wiadomość zatwierdzenia itp.). – tonfa

12

Myślę, że chcesz hg export cset.

2

Powinieneś również rzucić okiem na parentrevspec extension, aby włączyć bardziej podobną do Git składnię do określania wersji.

5

Dokładnym odpowiednikiem "git show HEAD ^" będzie:

hg log -pr -2 # -1 (last commit), -2 - one before it, etc. 

lub na przykład, jeśli chcesz spojrzeć na ostatnie 3 zatwierdzeń (o różnice):

hg log -pr -3: # colon means start 3 commits behind and up to tip inclusive 

Trochę późno z odpowiedzią, ale nadal. :)

UPDATE: widocznie teraz HG git obsługuje składni, a także:

hg exp tip^^^..tip 

lub

hg log -pr tip~4 
+0

To jest dwukropek ":", a nie średnik ";" –

+0

Przez złe. Naprawiony. Dziękuję za zgłoszenie – Alex

0

Jeśli tylko chcesz zobaczyć zawartość i różnicowej commit, użyj tego :

hg diff -c <the commit hash or bookmark name> 

Aby zobaczyć zatwierdzenie, które sprawdziłeś out (HEAD w git), wykonaj następujące czynności:

hg diff -c -1 

Jeśli chcesz zobaczyć popełnić przed nim (głowa^w GIT), to zrobić:

hg diff -c -2 

proste.