これは、変更の正確なタイミングがわからない並列変更状況でのバージョン管理に関連しているため、ファイルの 2 つの変更されたバージョンを同時に受け取ると想定しています。問題を単純化します。
T と U という 2 つの変更されたバージョンを持つ文字列 S があります。diff を使用して S と T の違いを確認できます。S 上の T で作られたパッチを PT と呼びましょう。Uについても同じで、PUになります。ここで、PT と PU を 1 つのパッチにマージして、安全な方法で、典型的なプログラミング ライン レベルではなく、「ワード」レベルで PT と PU の間の競合を検出できるようにしたいと考えています。
質問:
1- 2 つのパッチをマージするアルゴリズムはありますか?
2- T と U の間の競合を検出するにはどうすればよいですか?
3- 対立に対処するための共通の方針は何ですか? 私にとっての解決策の 1 つは、競合が発生した場合に、常にバージョンの 1 つ (T など) から変更を選択することです。
私が探していることを行うためのツールはありますか?