7

チェンジセットがbranchXとdefaultの間にすでに移植されているかどうかを確認するにはどうすればよいですか?私は知っています、hggraftは私のためにこれをチェックします、そこで私は2回移植することはできません、しかし私はbranchXとdefaultの間で移植されなかったすべてのチェンジセットをリストしたいと思います。よろしくお願いします。

4

2 に答える 2

7

Mercurial 2.3 以降を使用している場合は、revset を使用してこれを行うことができます。

$ hg log -r "destination()"

グラフトの宛先であるすべての変更セットのリストを取得します。次のこともできます。

$ hg log -r "origin()"

移植元であるすべての変更セットのリストを取得します。これらのリビジョンセットはどちらも別のリビジョンセットを引数として受け取るため、構成可能なリビジョンセットの機能をフルに活用して検索をドリルダウンできます。

于 2014-11-12T02:07:49.120 に答える
7

この情報は、移植された変更セット内のいわゆる「追加」辞書に保存されます。これは、 で確認できる単純なキーと値のマッピングですhg log --debug

残念ながら、情報はまだ revset 述語として公開されていないため、昔ながらの方法で行う必要があります。

$ hg --debug log -b branchX

で変更セットを取得しbranchXます。次にgrep、またはそうでなければ一致する行を検索します

extra:       source=[0-9a-f]{40}

より高レベルのアクセスが必要な場合は、 Mercurial バインディングを使用できます。現時点では、Java、Python、および Scala 用のライブラリがあります。

于 2012-04-24T21:21:52.733 に答える