2011-03-21 24 views
41

To prawie dokładnie duplikat numeru Examining a single changeset in Mercurial i bez wątpienia duplikat innego pytania, którego nie mogę znaleźć na SO tylko za pomocą Google.Mercurial: różni się w określonym zestawie zmian?

szukam powrotem przez Mercurial repo i chcę zobaczyć, co dokładnie zmieniło między dwoma wersjami (powiedzmy, 2580 i 2581):

hg log -v -r 2581 

daje mi wszystkie plików które zmieniły.

Jak mogę również zobaczyć diffs tych plików?

Dzięki.

+0

prostu zmienić '-V' do' -p' - zobacz moją odpowiedź poniżej. –

+0

Powiązane: http://stackoverflow.com/questions/1312633/examining-a-changeset-in-hg –

Odpowiedz

63

edycji 2580 nie jest necessasrily rewizja dominującą 2581. Łatwo jest sprawdzić, czy tak jest, oczywiście, ale jeszcze łatwiej jest po prostu zrobić:

hg log -p -r 2581 

To porównuje 2581 do jej (pierwsza) nadrzędna rewizja bez względu na to, co to jest, i najwyraźniej obejmuje odpowiedź na pytanie "co, do cholery, zrobił 2581?"

+31

Możesz również użyć do tego hg diff -c 2581. – Ringding

+0

Zaczekaj chwilę, czy opcja '-p' nie oznacza" pokaż łatkę "? –

6

Wypróbuj hg diff -r 2580 -r 2581.

2
hg diff -r 2580 -r 2581 

To jest zły przykład. Wersja 2580 może znajdować się w innej gałęzi i uzyskać różnicę między dwoma gałęziami.

Zastosowanie

hg log -p -r 2581 

lub hg diff -c 2581

Różnica między nimi w pierwszej linii. Dziennik Hg pokazuje również informacje o zestawie zmian (rodzic, autor, data, ...)

Preferuję drugi wariant hg diff -c ..., ponieważ może on przechowywać pliki łatek.

hg diff -c 2581 > revision_2581.patch

Powiązane problemy