8

branchX から default へのマージであるすべての変更セットを見つけたいと思います。

したがって、そのような変更セットの最初の親はデフォルトにあり、そのような変更セットの2番目の親はbranchXにあります。

を使用hg log -r 'branch("default") & merge()すると、2 番目の親が branchX であるかどうかに関係なく、デフォルトでマージされたすべての変更セットがあります。

上記のリビジョンセットを変更して、2 番目の親が branchX のみにあるマージされた変更セットを除外するにはどうすればよいですか?

4

1 に答える 1

8

これは私のテストでそれを行います:

hg log -r "children(p2(branch(default)) & branch(branchX)) & merge()"

説明:

p2(branch(default)) & branch(branchX)ブランチbranchX上のチェンジセットの2番目の親であるチェンジセットを取得します。default

children()それらのチェンジセットの子を取得します

& merge()それらの子をマージチェンジセットである子に制限します。この条件がないと、継続している子も取得しますbranchX

これを編集すると、私はそれをより良くすると思います:

hg log -r "children(p2(branch(default)) & branch(branchX)) & branch(default)"

最初のバージョンには、からへbranchXのマージの直後に他のブランチからのマージであった変更が含まれます。branchXdefault

于 2012-05-14T21:35:55.187 に答える