Mercurial > hg
changeset 17175:f76e2196ee70
merge with stable
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Sun, 15 Jul 2012 14:48:50 -0500 |
parents | c621f84dbb35 (current diff) 32b2e6d641e4 (diff) |
children | 2ab165cf3d8a |
files | hgext/convert/filemap.py tests/test-convert-filemap.t |
diffstat | 2 files changed, 37 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/convert/filemap.py Fri Jul 06 19:34:09 2012 +0200 +++ b/hgext/convert/filemap.py Sun Jul 15 14:48:50 2012 -0500 @@ -358,12 +358,13 @@ # original filename in the rev part of the return value. changes, copies = self.base.getchanges(rev) newnames = {} - files = [] + files = {} for f, r in changes: newf = self.filemapper(f) - if newf: - files.append((newf, (f, r))) + if newf and (newf != f or newf not in files): + files[newf] = (f, r) newnames[f] = newf + files = sorted(files.items()) ncopies = {} for c in copies:
--- a/tests/test-convert-filemap.t Fri Jul 06 19:34:09 2012 +0200 +++ b/tests/test-convert-filemap.t Sun Jul 15 14:48:50 2012 -0500 @@ -376,6 +376,39 @@ o 0 "addb" files: b +filemap rename undoing revision rename + + $ hg init renameundo + $ cd renameundo + $ echo 1 > a + $ echo 1 > c + $ hg ci -qAm add + $ hg mv -q a b/a + $ hg mv -q c b/c + $ hg ci -qm rename + $ echo 2 > b/a + $ echo 2 > b/c + $ hg ci -qm modify + $ cd .. + + $ echo "rename b ." > renameundo.fmap + $ hg convert --filemap renameundo.fmap renameundo renameundo2 + initializing destination renameundo2 repository + scanning source... + sorting... + converting... + 2 add + 1 rename + filtering out empty revision + repository tip rolled back to revision 0 (undo commit) + 0 modify + $ glog -R renameundo2 + o 1 "modify" files: a c + | + o 0 "add" files: a c + + + test merge parents/empty merges pruning $ glog()