Mercurial > public > mercurial-scm > hg-stable
diff mercurial/localrepo.py @ 5249:0d28d4e5fe1f
Merge with crew-stable.
author | Alexis S. L. Carvalho <alexis@cecm.usp.br> |
---|---|
date | Mon, 27 Aug 2007 14:55:33 -0300 |
parents | 5517aa5aafb0 dee573ba79f1 |
children | b534c502bfb3 |
line wrap: on
line diff
--- a/mercurial/localrepo.py Mon Aug 27 02:21:58 2007 -0300 +++ b/mercurial/localrepo.py Mon Aug 27 14:55:33 2007 -0300 @@ -630,7 +630,9 @@ elif fp1 != nullid: # copied on local side, reversed meta["copyrev"] = hex(manifest2.get(cp)) fp2 = fp1 - else: # directory rename + elif cp in manifest2: # directory rename on local side + meta["copyrev"] = hex(manifest2[cp]) + else: # directory rename on remote side meta["copyrev"] = hex(manifest1.get(cp, nullid)) self.ui.debug(_(" %s: copy %s:%s\n") % (fn, cp, meta["copyrev"])) @@ -644,7 +646,7 @@ fp2 = nullid # is the file unmodified from the parent? report existing entry - if fp2 == nullid and not fl.cmp(fp1, t): + if fp2 == nullid and not fl.cmp(fp1, t) and not meta: return fp1 changelist.append(fn) @@ -736,7 +738,8 @@ new[f] = self.filecommit(f, m1, m2, linkrev, trp, changed) new_exec = is_exec(f) new_link = is_link(f) - if not changed or changed[-1] != f: + if ((not changed or changed[-1] != f) and + m2.get(f) != new[f]): # mention the file in the changelog if some # flag changed, even if there was no content # change.