Mercurial > hgsubversion
diff hgsubversion/wrappers.py @ 366:25ebdc16b05b
Simplify pulling revs a bit, unify stupid/replay interfaces.
author | Dirkjan Ochtman <dirkjan@ochtman.nl> |
---|---|
date | Thu, 28 May 2009 10:57:09 +0200 |
parents | 62f90781eb10 |
children | ce64d57172a3 |
line wrap: on
line diff
--- a/hgsubversion/wrappers.py +++ b/hgsubversion/wrappers.py @@ -19,6 +19,11 @@ import stupid as stupidmod import svnwrap import util +pullfuns = { + True: cmdutil.replay_convert_rev, + False: stupidmod.convert_rev, +} + def parent(orig, ui, repo, *args, **opts): """show Mercurial & Subversion parents of the working dir or revision """ @@ -217,7 +222,6 @@ def pull(repo, source, heads=[], force=F 'remains unimplemented.') revisions = 0 - try: # start converting revisions for r in svn.revisions(start=start, stop=stopat_rev): @@ -231,17 +235,12 @@ def pull(repo, source, heads=[], force=F while not converted: try: util.describe_revision(ui, r) - if have_replay: - try: - cmdutil.replay_convert_rev(hg_editor, svn, r) - except svnwrap.SubversionRepoCanNotReplay, e: #pragma: no cover - ui.status('%s\n' % e.message) - stupidmod.print_your_svn_is_old_message(ui) - have_replay = False - stupidmod.svn_server_pull_rev(ui, svn, hg_editor, r) - else: - stupidmod.svn_server_pull_rev(ui, svn, hg_editor, r) + pullfuns[have_replay](ui, hg_editor, svn, r) converted = True + except svnwrap.SubversionRepoCanNotReplay, e: #pragma: no cover + ui.status('%s\n' % e.message) + stupidmod.print_your_svn_is_old_message(ui) + have_replay = False except core.SubversionException, e: #pragma: no cover if (e.apr_err == core.SVN_ERR_RA_DAV_REQUEST_FAILED and '502' in str(e)