3 方向マージ (diff3) に関する記事を読みました。が競合を検出する方法の例を示します。例は次のとおりです。
A=[1,4,5,2,3,6]
O=[1,2,3,4,5,6] <<< Origin
B=[1,2,4,5,3,6]
最初に、OA と OB 後の差分を計算します。
A=[1,4,5,2,3, ,6]
O=[1, ,2,3,4,5,6]
と
O=[1,2,3,4,5, ,6]
B=[1,2, ,4,5,3,6]
作成後diff3 parse
:
A=[1,4,5,2, 3 ,6] O=[1, ,2, 3,4,5 ,6] <<< Origin B=[1, ,2, 4,5,3 ,6]
そして、競合を検出した後:
1
4
5
2
<<<<<<<<<A
3
|||||||O
3
4
5
=======
4
5
3
>>>>>>B
6
競合を検出するこの方法に従って、簡単な例を試します: 最初にドキュメントがあります:
a;
b;
私は次の結果を得るために、ユーザー 1 の更新"a;"
を"a=0;"
ユーザー 2の更新に更新します。"b;"
"b=0;"
xx
<<<<<<< A
int a=0;
int b;
||||||| O
int a;
int b;
=======
int a;
int b=0;
>>>
これら 2 つのドキュメントをマージすると、同じ位置 ( a and b are not at the same position
) で変更しなくても競合が発生します。なぜ私がこの対立を抱えているのか誰かが私に説明できますか?