5

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) で変更しなくても競合が発生します。なぜ私がこの対立を抱えているのか誰かが私に説明できますか?

4

1 に答える 1