comparison mercurial/localrepo.py @ 3733:9e67fecbfd16

merge: handle directory renames commit: handle new copy dirstate case correctly findcopies: keep a map of all copies found for directory logic add dirs filter check for merge:followdirs config option generate a directory move map find files that match directory move map manifestmerge: add directory rename cases applyupdates: skip actions with None file add "d" action recordupdates: add "d" action add simple directory rename test
author Matt Mackall <mpm@selenic.com>
date Thu, 30 Nov 2006 17:36:33 -0600
parents 98f2507c5551
children 9433bdcaa9ae
comparison
equal deleted inserted replaced
3732:ffe9fef84801 3733:9e67fecbfd16
551 if not manifest2: # not a branch merge 551 if not manifest2: # not a branch merge
552 meta["copyrev"] = hex(manifest1.get(cp, nullid)) 552 meta["copyrev"] = hex(manifest1.get(cp, nullid))
553 fp2 = nullid 553 fp2 = nullid
554 elif fp2 != nullid: # copied on remote side 554 elif fp2 != nullid: # copied on remote side
555 meta["copyrev"] = hex(manifest1.get(cp, nullid)) 555 meta["copyrev"] = hex(manifest1.get(cp, nullid))
556 else: # copied on local side, reversed 556 elif fp1 != nullid: # copied on local side, reversed
557 meta["copyrev"] = hex(manifest2.get(cp)) 557 meta["copyrev"] = hex(manifest2.get(cp))
558 fp2 = nullid 558 fp2 = nullid
559 else: # directory rename
560 meta["copyrev"] = hex(manifest1.get(cp, nullid))
559 self.ui.debug(_(" %s: copy %s:%s\n") % 561 self.ui.debug(_(" %s: copy %s:%s\n") %
560 (fn, cp, meta["copyrev"])) 562 (fn, cp, meta["copyrev"]))
561 fp1 = nullid 563 fp1 = nullid
562 elif fp2 != nullid: 564 elif fp2 != nullid:
563 # is one parent an ancestor of the other? 565 # is one parent an ancestor of the other?