right way to check if file was in renamed directory, fixes import monotone
repos with renamed directories
--- 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
--- /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