On Thu, Aug 30, 2012 at 5:28 AM, Baruch Burstein <[email protected]>wrote:
> Can someone help me understand the conflict-resolving procedure. This is > what happens: > > I have a private branch. I merge the trunk into it: > fossil update my-branch > fossil merge trunk > I then get a warning about 3 merge conflicts. I go to those files and see > I have 4(!) of each. A baseline, orignal and merge versions,as well as a > single file containing all 3 versions. > "file-original" is the content from your check-out before you did the merge. "file-merge" is the content of the same file in the version that you are merging against. In other words, if you did "fossil merge branch-x" then "file-merge" would be the content of file in branch-x. Finally, "file-baseline" is the most recent common ancestor between "file-original" and "file-merge". Conceptually, the merge algorithm does a diff from file-baseline to file-merge to generate a patch. It then applies that patch to file-original. Conflicts arise when the same line changes in different ways on baseline->merge compared to baseline->original. The merge algorithm has no way of knowing which change to use, so it inserts all three copies of the text into the file with <<<<< labels to show you what and where your choices are and then leaves it up to the programmer to figure out the right thing to do. > Not sure how to proceed, I ran > fossil undo > fossil fossil clean > to revert the merge and remove those extra versions of the problem files. > I figured I need a graphical merge tool. I went into the UI and set > TortoiseMerge as the gdiff and gmerge commands. I ran the merge again and > got TortoiseMerge opening up 3 times, each time with no files in it. After > closing these useless windows, I found that I still had all those extra > versions! > > So, basically it is 3 questions: > 1) Does TortoiseMerge not work with fossil (maybe it sends the command > line parameters wrong?) > 2) How would the merge be done without a graphical diff? Would I have to > edit the file with all the combined versions (with the original name), > delete the 3 extra files, and then run `fossil commit`? Is this correct? > 3) I would think that after a graphical merge program was run, the extra > files would be automatically deleted, since the conflict was resolved. This > did not seem to happen. Or did it not happen because TortoiseMerge did not > actually open the files? > > Thank you! > > -- > ˙uʍop-ǝpısdn sı ɹoʇıuoɯ ɹnoʎ 'sıɥʇ pɐǝɹ uɐɔ noʎ ɟı > > > _______________________________________________ > fossil-users mailing list > [email protected] > http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users > > -- D. Richard Hipp [email protected]
_______________________________________________ fossil-users mailing list [email protected] http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

