web-dev-qa-db-ja.com

Mercurial:2つのコミットの差分を作成する

Mercurialで2つのコミットの変更を取得する方法はありますか? 2番目のコミットは最初のコミットの直後ではなく、それらの間に他のコミットがいくつかあります。

私は試した

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

ただし、これには最後のチェンジセットのみが含まれます。

Hgでこれを達成する方法がない場合、パッチを組み合わせるためのツールはありますか?

33
DerKuchen

このことを理解しようとしているときにこのページに行きました。 hg help diffで解決策を見つけました。

hg diff -r <rev> -r <rev>は私のニーズに対応しました(2つのタグの違い)

53
the daniel

外部差分

Extdiff拡張機能を使用すると、好みの外部diffツールを使用できます。私の場合、私はmeldを使用しているので、毎日このタイプのコマンドを実行します

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

まず、拡張セクションでextdiff拡張を有効にします(シェルフとレコードも有効にしています)

[extensions]
shelve =
record =
hgext.extdiff =

次に、このセクションを追加します...

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

あなたの.hgrcファイルに。明らかに、meldを好みのツールを起動するために使用されるコマンドに置き換えます

6
Chris McCauley

書き出す?チェンジセットごとに1つのパッチファイル。

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

2
Lazy Badger