2 つの中央ブランチ/クローン (DEV と PRD など) を持つ Hg プロジェクトを考えてみましょう。誰かがホットフィックスを PRD にプッシュすると、中央サーバー上の自動化されたスクリプトが DEV に移動し、新しい変更をプルします。次に、修正プログラムを DEV にマージしようとします。
問題は、Hg に統合されたマージ ツールがひどいことです。同じファイルに並行して変更が加えられるとすぐに失敗します。次の例を見てください。
parent:3,7c
four
five
six
seven
child1:3,7c
four
five5
six6
seven7
child2:3,7c
fourmore
five
six
more
seven
ご覧のとおり、ここには実際の競合はありません。kdiff を使用してローカルでマージを行うと、ユーザー入力なしでこの単純なケースが解決されます!
これらのケースを中央サーバーで管理する方法が欲しいです。kdiff3 をサイレント モードで使用することを考えましたが、kdiff3 をインストールすることはできません (これは、管理者アクセスさえできない CLI のみのシステムです)。このような単純なケースを解決できますか? hgrc で "[ui] /n merge = diff3" を設定しようとしましたが、3 つのバージョンが stdout に吐き出されるだけです。追加の構成が不足していますか? または、より簡単で優れたツールはありますか?
どうもありがとう