Mercurial > public > mercurial-scm > hg
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? |