mercurial/localrepo.py
changeset 5249 0d28d4e5fe1f
parent 5248 5517aa5aafb0
parent 5229 dee573ba79f1
child 5258 b534c502bfb3
equal deleted inserted replaced
5248:5517aa5aafb0 5249:0d28d4e5fe1f
   628             elif fp2 != nullid: # copied on remote side
   628             elif fp2 != nullid: # copied on remote side
   629                 meta["copyrev"] = hex(manifest1.get(cp, nullid))
   629                 meta["copyrev"] = hex(manifest1.get(cp, nullid))
   630             elif fp1 != nullid: # copied on local side, reversed
   630             elif fp1 != nullid: # copied on local side, reversed
   631                 meta["copyrev"] = hex(manifest2.get(cp))
   631                 meta["copyrev"] = hex(manifest2.get(cp))
   632                 fp2 = fp1
   632                 fp2 = fp1
   633             else: # directory rename
   633             elif cp in manifest2: # directory rename on local side
       
   634                 meta["copyrev"] = hex(manifest2[cp])
       
   635             else: # directory rename on remote side
   634                 meta["copyrev"] = hex(manifest1.get(cp, nullid))
   636                 meta["copyrev"] = hex(manifest1.get(cp, nullid))
   635             self.ui.debug(_(" %s: copy %s:%s\n") %
   637             self.ui.debug(_(" %s: copy %s:%s\n") %
   636                           (fn, cp, meta["copyrev"]))
   638                           (fn, cp, meta["copyrev"]))
   637             fp1 = nullid
   639             fp1 = nullid
   638         elif fp2 != nullid:
   640         elif fp2 != nullid:
   642                 fp1, fp2 = fp2, nullid
   644                 fp1, fp2 = fp2, nullid
   643             elif fpa == fp2:
   645             elif fpa == fp2:
   644                 fp2 = nullid
   646                 fp2 = nullid
   645 
   647 
   646         # is the file unmodified from the parent? report existing entry
   648         # is the file unmodified from the parent? report existing entry
   647         if fp2 == nullid and not fl.cmp(fp1, t):
   649         if fp2 == nullid and not fl.cmp(fp1, t) and not meta:
   648             return fp1
   650             return fp1
   649 
   651 
   650         changelist.append(fn)
   652         changelist.append(fn)
   651         return fl.add(t, meta, tr, linkrev, fp1, fp2)
   653         return fl.add(t, meta, tr, linkrev, fp1, fp2)
   652 
   654 
   734                 self.ui.note(f + "\n")
   736                 self.ui.note(f + "\n")
   735                 try:
   737                 try:
   736                     new[f] = self.filecommit(f, m1, m2, linkrev, trp, changed)
   738                     new[f] = self.filecommit(f, m1, m2, linkrev, trp, changed)
   737                     new_exec = is_exec(f)
   739                     new_exec = is_exec(f)
   738                     new_link = is_link(f)
   740                     new_link = is_link(f)
   739                     if not changed or changed[-1] != f:
   741                     if ((not changed or changed[-1] != f) and
       
   742                         m2.get(f) != new[f]):
   740                         # mention the file in the changelog if some
   743                         # mention the file in the changelog if some
   741                         # flag changed, even if there was no content
   744                         # flag changed, even if there was no content
   742                         # change.
   745                         # change.
   743                         old_exec = m1.execf(f)
   746                         old_exec = m1.execf(f)
   744                         old_link = m1.linkf(f)
   747                         old_link = m1.linkf(f)