Merge Behaving Differently on Different Computers, Losing Changes

Jensen, Aaron ajensen at webmd.net
Fri Jun 26 17:25:56 UTC 2015


In what is probably completely obvious to everyone else, the problem was our merge tool, Beyond Compare 3. The other two developers were on an old version (3.1.11) and I was on the latest (3.3.13). Looks like there was a bug that caused Bad Merges. In hindsight, Duh. Of course it was the merge tool. I feel stupid.


From: Mercurial [mailto:mercurial-bounces at selenic.com] On Behalf Of Jensen, Aaron
Sent: Friday, June 26, 2015 7:32 AM
To: mercurial at selenic.com
Subject: Merge Behaving Differently on Different Computers, Losing Changes

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://lists.mercurial-scm.org/pipermail/mercurial/attachments/20150626/7a7ed682/attachment-0002.html>


More information about the Mercurial mailing list