Mercurial: создание различий из двух коммитов - PullRequest
33 голосов
/ 03 мая 2010

Есть ли способ получить изменения двух коммитов с помощью Mercurial? Второй коммит не сразу после первого, между ними есть и другие.

Я пытался

hg diff [some params] --change xxxxx --change yyyyy > file.patch

, но включает только последнюю ревизию.

Если нет способа добиться этого с помощью hg, есть ли инструмент для объединения патчей?

Ответы [ 3 ]

53 голосов
/ 24 мая 2010

Я зашел на эту страницу, пытаясь понять эту самую вещь. Я нашел свое решение через hg help diff.

hg diff -r <rev> -r <rev> работал для моих нужд (различие между двумя тегами)

6 голосов
/ 26 мая 2010

Внешний дифференциал

Расширение extdiff позволит вам использовать предпочитаемый вами внешний инструмент сравнения. В моем случае я использую meld, поэтому изо дня в день я запускаю команду такого типа

hg meld -r <rev1> -r <rev2>

Сначала включите расширение extdiff в разделе расширений (у меня также есть полка и запись)

[extensions]
shelve =
record =
hgext.extdiff =

Затем добавьте этот раздел ...

[extdiff]
cmd = meld
cmd.meld = /usr/bin/meld

в ваш файл .hgrc. Очевидно, замените meld командой, используемой для запуска предпочитаемого вами инструмента

2 голосов
/ 03 июня 2013

Экспорт? Один файл патча на набор изменений, что-то вроде

hg export --output %r.patch --rev A --rev B

...