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/9099b35951af

Then I changed it to an "and" to fix a bug (rev 4304):
  http://www.selenic.com/hg/rev/c0a9681f37d2

Then for reasons now lost in the mists of time, I dropped half (rev 4399):
  http://www.selenic.com/hg/rev/28b43ceec6c1

Then we added back the "or" (rev 4416, in 0.9.4):
  http://www.selenic.com/hg/rev/1b74e1831bb9

So it seems it ought to be "and".
This commit is contained in:
Matt Mackall 2007-10-08 18:47:22 -05:00
parent 1a6c764cc5
commit 639bd228f5

View File

@ -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: