On Nov 13, 2015 9:15 AM, "Tony Papadimitriou" <[email protected]> wrote: > > Sorry for the confusion. > By “merge from trunk” I mean I’m in branch ‘trunk’ and from there I’m doing the merge. > And, I’m merging the “check-in from the ... [other] branch” I mean the check-in which is part of the other part. > > I think I’m beginning to understand what’s going on. If I do a full merge (no cherry pick) there are no conflicts. > So, it seems the fact that the SRF_OUT label was renamed in an earlier check-in that the one I’m cherry picking is confusing it. > What should have happened actually (what I expected with the cherry pick) is not exactly what I mentioned earlier. > The ‘puts’ change being part of the check-in I cherry picked should have merged in and the SRF_OUT rename (being from an older check-in) in the development branch should have stayed out. > > This is a conflict if you look at this line of code as one piece (i.e., you either merge the whole line or none of it).
I believe with 99% confidence that you've hit the nail on the head. Merge is line based. It either merges one or a block of lines as a single entity. It doesn't deal with line fragments. To prove this to yourself, you could create a repo with a single file and a single line of text. Branch it an add a character to the end. Go back to trunk and create a new commit with an new character at the beginning of the line. Try to merge. The same line was modified in both branches so it isn't sure what to do. I'm doing this from memory on my phone, so if I'm wrong, my apologies. And I'll be surprised! :)
_______________________________________________ fossil-users mailing list [email protected] http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

