diff - Strange conflict on git -
i read article three-way merges (diff3). gives example how detects conflict. example :
a=[1,4,5,2,3,6] o=[1,2,3,4,5,6] <<< origin b=[1,2,4,5,3,6] in first time computes diff between o-a , after o-b:
a=[1,4,5,2,3, ,6] o=[1, ,2,3,4,5,6] and
o=[1,2,3,4,5, ,6] b=[1,2, ,4,5,3,6] after makes diff3 parse:
a=[1,4,5,2, 3 ,6] o=[1, ,2, 3,4,5 ,6] <<< origin b=[1, ,2, 4,5,3 ,6]
and after detects conflict :
1 4 5 2 <<<<<<<<<a 3 |||||||o 3 4 5 ======= 4 5 3 >>>>>>b 6 following method detect conflict, try simple example : have document :
a; b; i make updates user 1 update "a;", "a=0;" user 2 update "b;", "b=0;" obtain result :
xx <<<<<<< int a=0; int b; ||||||| o int a; int b; ======= int a; int b=0; >>> when merge these 2 documents have conflict if don't change @ same position (a , b not @ same position)! 1 can explain me why have conflict ?
this question similar this one, , answer is: that's because each diff hunk not consist of literal difference of lines of context required locate difference in file has lines added / removed , hunk offset changes. difference in context conflict because depending on patch apply first you're changing context other patch.
Comments
Post a Comment