Merge Behaving Differently on Different Computers, Losing Changes

Jensen, Aaron ajensen at webmd.net
Fri Jun 26 14:32:14 UTC 2015


Mercurial 2.5.4
TortoiseHg 2.72.
Windows 7

A developer did a branch merge a few days ago. We use Beyond Compare 3 as our merge tool. All changes from the parent 2 branch were lost/not merged into parent 1's branch. I replayed the merge [1] on another developer's computer (dev #2), and got the same result. When I replayed it on my computer, however, the file was merged correctly: parent 2's changes were visible after the merge.

So, now I'm trying to figure out why Mercurial is behaving differently between computers. The verbose/debug merge output is the same between my and dev #2's computer. When I compare the output of `hg showconfig` between our computers, the only differences are: auth settings and dev #2 has the fetch and transplant extensions enabled, and I have the mercurial_keyring extension enabled. Other than that, all settings are exactly the same: merge-tools, diff-patterns, etc. Are there settings that could affect the merge that I'm not seeing in the output of showconfig?

Anything else that could be causing this strange behavior? This is a not-uncommon problem for us. I've had numerous reports over the years from developer's that Mercurial did The Wrong Thing during a merge, but this is the first time I've actually been able to reproduce it, so I've always chalked it up to "well, be more careful".


[1] Replayed the merge:
> hg up $p1
> hg merge $p2
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://selenic.com/pipermail/mercurial/attachments/20150626/58ac32e5/attachment.html>


More information about the Mercurial mailing list