diff -r db1433e4bf5f -r 5fb924ee44d5 hgext/convert/subversion.py --- a/hgext/convert/subversion.py Fri Nov 26 20:05:16 2010 -0600 +++ b/hgext/convert/subversion.py Mon Nov 29 20:13:11 2010 +0100 @@ -656,13 +656,20 @@ # If the directory just had a prop change, # then we shouldn't need to look for its children. continue - elif ent.action == 'R' and parents: + if ent.action == 'R' and parents: # If a directory is replacing a file, mark the previous # file as deleted pmodule, prevnum = self.revsplit(parents[0])[1:] pkind = self._checkpath(entrypath, prevnum, pmodule) if pkind == svn.core.svn_node_file: removed.add(self.recode(entrypath)) + elif pkind == svn.core.svn_node_dir: + # We do not know what files were kept or removed, + # mark them all as changed. + for childpath in self._iterfiles(pmodule, prevnum): + childpath = self.getrelpath("/" + childpath) + if childpath: + changed.add(self.recode(childpath)) for childpath in self._iterfiles(path, revnum): childpath = self.getrelpath("/" + childpath)