diff --git a/mercurial/copies.py b/mercurial/copies.py --- a/mercurial/copies.py +++ b/mercurial/copies.py @@ -130,10 +130,8 @@ t = a.copy() for k, v in b.iteritems(): if v in t: - # found a chain, i.e. cases 3 & 4. - if t[v] != k: - # file wasn't renamed back to itself (i.e. case 4, not 3) - t[k] = t[v] + # Found a chain, i.e. cases 3 & 4. We'll remove case 3 later. + t[k] = t[v] else: # Renamed only in 'b', i.e. cases 5 & 6. We'll remove case 5 later. t[k] = v