diff --git a/hgext/convert/subversion.py b/hgext/convert/subversion.py --- a/hgext/convert/subversion.py +++ b/hgext/convert/subversion.py @@ -146,6 +146,7 @@ class convert_svn(converter_source): self.last_changed = self.latest(self.module, latest) self.head = self.revid(self.last_changed) + self._changescache = None def setrevmap(self, revmap, order): lastrevs = {} @@ -206,6 +207,9 @@ class convert_svn(converter_source): return self.modecache[(file, rev)] def getchanges(self, rev): + if self._changescache and self._changescache[0] == rev: + return self._changescache[1] + self._changescache = None self.modecache = {} (paths, parents) = self.paths[rev] files, copies = self.expandpaths(rev, paths, parents) @@ -216,6 +220,11 @@ class convert_svn(converter_source): del self.paths[rev] return (files, copies) + def getchangedfiles(self, rev, i): + changes = self.getchanges(rev) + self._changescache = (rev, changes) + return [f[0] for f in changes[0]] + def getcommit(self, rev): if rev not in self.commits: uuid, module, revnum = self.revsplit(rev)