changeset 6542:e7810e61f7c1

convert: more cleanup in svn directory copy handling
author Patrick Mezard <pmezard@gmail.com>
date Mon, 14 Apr 2008 22:31:33 +0200
parents 009f69a5e251
children a6e2e60b34d0
files hgext/convert/subversion.py
diffstat 1 files changed, 21 insertions(+), 19 deletions(-) [+]
line wrap: on
line diff
--- a/hgext/convert/subversion.py	Mon Apr 14 22:31:33 2008 +0200
+++ b/hgext/convert/subversion.py	Mon Apr 14 22:31:33 2008 +0200
@@ -675,26 +675,28 @@
                 # Copies here (must copy all from source)
                 # Probably not a real problem for us if
                 # source does not exist
-                if ent.copyfrom_path:
-                    copyfrompath = self.getrelpath(ent.copyfrom_path.decode(self.encoding))
-                    if copyfrompath:
-                        copyfrom[path] = ent
-                        self.ui.debug("mark %s came from %s:%d\n" 
-                                      % (path, copyfrompath, ent.copyfrom_rev))
+                if not ent.copyfrom_path:
+                    continue
+                copyfrompath = self.getrelpath(ent.copyfrom_path.decode(self.encoding))
+                if not copyfrompath:
+                    continue
+                copyfrom[path] = ent
+                self.ui.debug("mark %s came from %s:%d\n" 
+                              % (path, copyfrompath, ent.copyfrom_rev))
 
-                        # Good, /probably/ a regular copy. Really should check
-                        # to see whether the parent revision actually contains
-                        # the directory in question.
-                        children = self._find_children(ent.copyfrom_path, ent.copyfrom_rev)
-                        children.sort()
-                        for child in children:
-                            entrypath = self.getrelpath("/" + child)
-                            if not entrypath:
-                                continue
-                            entry = entrypath.decode(self.encoding)
-                            copytopath = path + entry[len(copyfrompath):]
-                            copytopath = self.getrelpath(copytopath)
-                            copies[self.recode(copytopath)] = self.recode(entry)
+                # Good, /probably/ a regular copy. Really should check
+                # to see whether the parent revision actually contains
+                # the directory in question.
+                children = self._find_children(ent.copyfrom_path, ent.copyfrom_rev)
+                children.sort()
+                for child in children:
+                    entrypath = self.getrelpath("/" + child)
+                    if not entrypath:
+                        continue
+                    entry = entrypath.decode(self.encoding)
+                    copytopath = path + entry[len(copyfrompath):]
+                    copytopath = self.getrelpath(copytopath)
+                    copies[self.recode(copytopath)] = self.recode(entry)
 
         return (util.unique(entries), copies)