Mercurial > hgsubversion
changeset 650:685f91015ed6
replay: always fetch the entire first revision
The entire revision is fetched using the just-added get_revision()
wrapper.
Essentially, this allows us to begin a conversion with a non-zero
start revision. As an extra safety feature, this mode is *always* used
for the very first revision, even if no start revision is
specified. For most repositories, this shouldn't matter; the entire
revision will be fetched regardless. However, there are repositories
that currently `confuse' us, such as bzr-svn conversions, and where
this is an improvement.
author | Dan Villiom Podlaski Christiansen <danchr@gmail.com> |
---|---|
date | Tue, 20 Jul 2010 11:55:07 +0200 |
parents | 2060e0ca8dd5 |
children | 827547493112 |
files | hgsubversion/replay.py |
diffstat | 1 files changed, 7 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/hgsubversion/replay.py +++ b/hgsubversion/replay.py @@ -25,7 +25,13 @@ def convert_rev(ui, meta, svn, r, tbdelt editor = meta.editor editor.current.clear() editor.current.rev = r - svn.get_replay(r.revnum, editor) + + if meta.revmap.oldest <= 0: + # no prior revisions are known, so fetch the entire revision contents + svn.get_revision(r.revnum, editor) + else: + svn.get_replay(r.revnum, editor, meta.revmap.oldest) + current = editor.current current.findmissing(svn)