# HG changeset patch # User Matt Mackall # Date 1191887242 18000 # Node ID 77cafe8f89e0ab1595e2c357e2da0972bf174828 # Parent eb1b6aaeb32ec4f7d7e38e95d28c89c77cd42eb6 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 @@ -180,7 +180,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 @@ -280,7 +280,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: