# HG changeset patch # User Pavel Volkovitskiy # Date 1238696749 -14400 # Node ID 88a2687fbd380688901c880daeb2c478a3c5a482 # Parent 3e7611a832304fbba62c48896bd643fcfff75a0f right way to check if file was in renamed directory, fixes import monotone repos with renamed directories diff -r 3e7611a83230 -r 88a2687fbd38 hgext/convert/monotone.py --- a/hgext/convert/monotone.py Thu Apr 02 14:48:06 2009 +0200 +++ b/hgext/convert/monotone.py Thu Apr 02 22:25:49 2009 +0400 @@ -111,9 +111,8 @@ def mtnrenamefiles(self, files, fromdir, todir): renamed = {} for tofile in files: - suffix = tofile.lstrip(todir) - if todir + suffix == tofile: - renamed[tofile] = (fromdir + suffix).lstrip("/") + if tofile.startswith(todir): + renamed[tofile] = fromdir + tofile[len(todir):] return renamed diff -r 3e7611a83230 -r 88a2687fbd38 tests/test-convert-mtn-rename-directory.out --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-convert-mtn-rename-directory.out Thu Apr 02 22:25:49 2009 +0400 @@ -0,0 +1,23 @@ +% tedious monotone keys configuration +% create monotone repository +mtn: adding dir1 to workspace manifest +mtn: adding dir1/subdir1 to workspace manifest +mtn: adding dir1/subdir1/file1 to workspace manifest +mtn: beginning commit on branch 'com.selenic.test' +mtn: committed revision 5ed13ff5582d8d1e319f079b694a37d2b45edfc8 +% rename directory +mtn: skipping dir1, already accounted for in workspace +mtn: renaming dir1/subdir1 to dir1/subdir2 in workspace manifest +mtn: beginning commit on branch 'com.selenic.test' +mtn: committed revision 985204142a822b22ee86b509d61f3c5ab6857d2b +% convert +assuming destination repo.mtn-hg +initializing destination repo.mtn-hg repository +scanning source... +sorting... +converting... +1 initialize +0 rename +1 files updated, 0 files merged, 0 files removed, 0 files unresolved +% manifest +dir1/subdir2/file1