マージAPIは、プログラムが一部のファイルに対する2つの競合する改善セット(たとえば、作業ツリーからの未登録の変更と新しいブランチへの切り替えに関連する変更)を調整し、見つかった場合に競合を報告するのに役立ちます。 このAPIを介して呼び出されるライブラリは、いくつかの役割を果たします。
-
マージするツリーを決定する(再帰的な祖先の統合)。
-
マージするツリー内の対応するファイルを並べて(名前の変更の検出、サブツリーのシフト)、 追加 / 追加や名前変更 / 名前変更 などの 特別な場合(edge cases)をユーザーに報告します。
-
そのパス固有(path-specific)のマージドライバ(
.gitattributes
で指定)を考慮して、対応するファイルの3方向マージを実行します。
Data structures
-
mmbuffer_t
,mmfile_t
これらは、xdiffバックエンドでの 使用・書き込み・読み取り にそれぞれ使用できるデータを格納します。 定義については xdiff/xdiff.h
を、例については diff.c
を参照してください。
-
struct ll_merge_options
詳細については、ll-merge.h を確認してください。
Low-level (single file) merge
詳細については、ll-merge.h を確認してください。