# HG changeset patch # User Matt Mackall # Date 1191887242 18000 # Node ID f9b0e4f023c4708f3aeafe83e099e3b94ab7881d # Parent 8ab7de07f40e2226466c733268d18c63dd848bd8 findcopies: fix rename bug We've fiddled with this line several times, and an old bug has reappeared from it. Let's take a peek at the history. The original "or" (rev 3674, in 0.9.2 and 0.9.3): http://www.selenic.com/hg/rev/9103dab96093 Then I changed it to an "and" to fix a bug (rev 4304): http://www.selenic.com/hg/rev/4787e2b0dd03 Then for reasons now lost in the mists of time, I dropped half (rev 4399): http://www.selenic.com/hg/rev/93652499bed3 Then we added back the "or" (rev 4416, in 0.9.4): http://www.selenic.com/hg/rev/bb1800a7d7e1 So it seems it ought to be "and". diff --git a/mercurial/merge.py b/mercurial/merge.py --- a/mercurial/merge.py +++ b/mercurial/merge.py @@ -177,7 +177,7 @@ def findcopies(repo, m1, m2, ma, limit): continue # named changed on only one side? if ca.path() == c.path() or ca.path() == c2.path(): - if c == ca or c2 == ca: # no merge needed, ignore copy + if c == ca and c2 == ca: # no merge needed, ignore copy continue copy[c.path()] = of @@ -254,7 +254,7 @@ def findcopies(repo, m1, m2, ma, limit): def symmetricdifference(repo, rev1, rev2): """symmetric difference of the sets of ancestors of rev1 and rev2 - + I.e. revisions that are ancestors of rev1 or rev2, but not both. """ # basic idea: