tortoisehgログウィンドウでの奇妙な出力
-
08-07-2019 - |
質問
メインブランチ(黒)と機能ブランチ(黄色)の2つのブランチがあります。
ご覧のとおり、機能ブランチは分岐されているため、メインから変更を取得するために最新の状態に保たれました:
代替テキストhttp://azkotoki.org/images/stackoverflow/tgh-reintegrate1 .gif
機能ブランチをメインのブランチに再統合すると、ログウィンドウに次のgraphいグラフが表示されます。
代替テキストhttp://azkotoki.org/images/stackoverflow/tgh-reintegrate2 .gif
各マージポイントは、機能ブランチとマージされた新しいブランチとして表示されます。いくつかの機能ブランチがある場合、これはほとんど読むことができなくなります。また、 hg view
で試しましたが、結果はさらに奇妙です。
上記の図に関係なく、最終的なマージ結果は問題ありませんが、再統合されたブランチを含むグラフは私を困らせます。
機能ブランチに何回もマージすることで何か間違ったことをしていますか?または、tortoisehgのログウィンドウに期待しすぎです:)?
事前に感謝
解決
リビジョンはリビジョン番号順に並べられているため、グラフは次のようになります。メインリポジトリには、次のように順序付けられ、番号が付けられたリビジョンがあります。
0 Imported initial repo.
1 Trivial change to also echo b.
2 Added another echo for c.
3 Echo for d.
4 Echo for e.
これは、チェンジセットがリポジトリに追加された順序を反映しています。機能ブランチリポジトリの順序は次のとおりです。
0 Imported initial repo.
1 Trivial change to also echo b.
3 Added another echo for c.
4 Automatic merge...
5 Echo for d.
6 Automatic merge...
7 Echo for e.
8 Automatic merge...
再びすべてがきちんと注文されます。ただし、機能ブランチをメインリポジトリにプルすると、欠落している変更セットのみが追加されます。したがって、mainの結果は次のようになります。
0 Imported initial repo.
1 Trivial change to also echo b.
2 Added another echo for c.
3 Echo for d.
4 Echo for e.
5 Refactored echos to print.
6 Automatic merge...
7 Automatic merge...
8 Automatic merge...
そしてグラフはこれを反映しています。
お気づきのとおり、リポジトリは問題ありません。これは、ディスク上で変更セットがどのように順序付けられているかの成果物にすぎません。必要に応じて、同じ変更セットが含まれているため、リポジトリを見栄えの悪いグラフの良いグラフと入れ替えることができます。重要な設定は .hg / hgrc
から移動することを忘れないでください(クローンからgraphいグラフでファイルをコピーします)。
ところで、 http:// hgのクローンでグラフを見ると、 intevation.org/mercurial/crew/ (Mercurialの開発ブランチ)と、 https://www.mercurial-scm.org/repo/hg (Mercurialのメインブランチ)同じ現象が見られます。
他のヒント
" nicer"を取得する1つの方法グラフは、コンパクトグラフモードの2.0より前のTortoiseHgを使用します。このモードでは、最初のスクリーンショットと同様に、2番目のリポジトリには2列の行しかありません。
残念ながら、この機能はGTKからQtに移植されていないため、TortoiseHgの現在のバージョン(2.1.2)には存在しません。
よく見ると、両方のグラフが(ほぼ)同じですが、プレゼンテーションが異なっていることがわかります。これは、3つの異なるブランチのように見えますが、実際には1つのブランチですが、わずかに異なって表示されます。
「ほぼ」と書きましたリビジョン番号が並べ替えられているためです。そして、これは本当に奇妙です...