[PATCH 3 of 6] convert: svn source cannot return converted revision ancestors
Patrick Mezard
pmezard at gmail.com
Tue Jan 1 17:03:13 CST 2008
# HG changeset patch
# User Patrick Mezard <pmezard at gmail.com>
# Date 1199228240 -3600
# Node ID 43e851a9485190fa79b2a6d668214058111d2ac6
# Parent 72f64b6d90a18ac753419eebf93b078a0f3fc625
convert: svn source cannot return converted revision ancestors
diff --git a/hgext/convert/subversion.py b/hgext/convert/subversion.py
--- a/hgext/convert/subversion.py
+++ b/hgext/convert/subversion.py
@@ -253,6 +253,10 @@ class svn_source(converter_source):
self.module = module
self.reparent(module)
stop = self.lastrevs.get(module, 0)
+ if stop > revnum:
+ raise util.Abort(
+ _("subversion source cannot return converted "
+ "revisions ancestors: %s") % rev)
self._fetch_revisions(from_revnum=revnum, to_revnum=stop)
commit = self.commits[rev]
# caller caches the result, so free it here to release memory
@@ -561,7 +565,10 @@ class svn_source(converter_source):
return (entries, copies)
- def _fetch_revisions(self, from_revnum = 0, to_revnum = 347):
+ def _fetch_revisions(self, from_revnum, to_revnum):
+ if from_revnum < to_revnum:
+ from_revnum, to_revnum = to_revnum, from_revnum
+
self.child_cset = None
def parselogentry(orig_paths, revnum, author, date, message):
self.ui.debug("parsing revision %d (%d changes)\n" %
@@ -575,8 +582,8 @@ class svn_source(converter_source):
rev = self.revid(revnum)
# branch log might return entries for a parent we already have
- if (rev in self.commits or
- (revnum < self.lastrevs.get(self.module, 0))):
+
+ if (rev in self.commits or revnum < to_revnum):
return
parents = []
More information about the Mercurial-devel
mailing list