0

defaultブランチまたは他のブランチにマージされていないすべてのブランチ ヘッドを見つけるにはどうすればよいですか?

1----2----4----6----8----13----14      Branch: default (E is a merge of F into D)
 \    \    \    \ /      /    
  \    \    \    7      /        Branch B1 (closed-merged)
   \    \    5-----9---+         Branch B2 (closed-merged)
    15   \    \                  Branch B5
          \    10          Branch B3
           3    \          Branch B4
            \    11        Branch B3
             12            Branch B4

上記の例 (この SO 回答から適応)11では1215変更セットを返す検索を構築しようとしています。Branch B3Branch B4Branch B5default

と比較すると、変更セット、、、、12の結果も期待できます119714Branch 5

4

2 に答える 2

1

revset を使用すると、次のように実現できます。

hg log -r 'not ancestors(14) and head()'

これにより、変更セット 11、12、および 15 が得られます。14 を 15 に置き換えた場合、期待どおりのセットが得られるはずです。閉じたブランチ (例では 7 と 9) も除外するand not closed()には、revset 定義に追加できます。

hg log -r 'not ancestors(14) and head() and not closed()'

hg のヘルプ ページrevsetの詳細を参照してください。

于 2013-06-26T16:38:55.667 に答える
0

求めているものの 95% は、次のものだけで提供されます。

hg heads

私が間違っていると思う唯一のことは、あなたの例では 14 のトランクの先端が含まれていることです。

于 2013-06-28T12:49:28.347 に答える