On 20 December 2012 16:12, Piotr Piastucki <[email protected]> wrote: >> I definitely don't want to be replacing text in MERGED with text in >> BASE. The only correct possibility here is to use ancestor information >> that already exists in MERGED, if it's there. >> >> In other words, if our MERGED file has diff3 conflict markers (rather >> than the more common two-way conflict markers), we can reasonably >> strip out the LOCAL and REMOTE parts of the conflict, which would >> reliably leave the portion derived from BASE. There's no need to >> actually consult BASE ourselves, or to make decisions about which >> chunk to use. We just need to be able to get a diff3 formatted >> conflict from the VC. >> > > Fair enough. BTW, it would be awesome to see a way to run this new mode from > command line so that it can be used with git mergetool etc. > Something like: > meld LOCAL BASE REMOTE --output=MERGED --output_is_already_merged_switch > or > meld LOCAL MERGED REMOTE --base=BASE > And then: > 1) show regular 3-way diff if MERGED contains no conflict markers > 2) alter MERGED content and show 3-way diff if MERGED contains diff3 > markers (maybe, but not necessarily, offer switching to auto-merge) > 3) show regular 3-way diff if MERGED contains non-diff3 conflict > markers and offer switching to auto-merge
That sounds pretty good to me, and similar to what I was about to write up. I hope that we can do it without additional command line options however. Anyway, I'll try to get time to write up an actual behaviour proposal detailing how I think this should work. cheers, Kai _______________________________________________ meld-list mailing list [email protected] https://mail.gnome.org/mailman/listinfo/meld-list
