Mercurial > hg
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)