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

Reply via email to