# HG changeset patch # User Patrick Mezard # Date 1200610016 -3600 # Node ID f1504d3355bb3fea0367a262edeb519b33d48833 # Parent 866aa7ae2612ad94bcc9e0d49f45991366e66af4 convert: fetch less revisions when looking for a branch parent diff -r 866aa7ae2612 -r f1504d3355bb hgext/convert/subversion.py --- a/hgext/convert/subversion.py Thu Jan 17 23:46:56 2008 +0100 +++ b/hgext/convert/subversion.py Thu Jan 17 23:46:56 2008 +0100 @@ -292,7 +292,15 @@ uuid, module, revnum = self.revsplit(rev) self.module = module self.reparent(module) + # We assume that: + # - requests for revisions after "stop" come from the + # revision graph backward traversal. Cache all of them + # down to stop, they will be used eventually. + # - requests for revisions before "stop" come to get + # isolated branches parents. Just fetch what is needed. stop = self.lastrevs.get(module, 0) + if revnum < stop: + stop = revnum + 1 self._fetch_revisions(revnum, stop) commit = self.commits[rev] # caller caches the result, so free it here to release memory