「共通」リポジトリのコードを使用して、いくつかの製品を自動的に最新の状態に保つようにビルド サーバーをセットアップしています。
ビルド サーバーは共通コードにマージし、すべてのテストを実行し、OK の場合は結果をコミットします。
GIT でマージの競合が発生するまで、すべて問題ありません。手動での解決が必要な「実際の競合」が発生することもありますが、多くの場合、自動解決できます。
たとえば、kdiff3 はそれらを自動的に解決できます。
私が望むのは、「git mergetool」を呼び出すことができるようにmergetoolをセットアップできるようにすることであり、すべてが自動解決される場合は続行します。できない場合は、プロセスを終了する必要があります。これはビルド サーバー プロセスで実行されているため、GUI を表示することはできません。
kdiff3 には、競合が解決された場合に GUI を無効にするサイレント フラグがあります。しかし、私はそれを常に無効にする必要があります。
明確にするために。競合を自動的に解決できない場合は、ビルドを失敗させ、GUI を開かないようにしたいと考えています。