# HG changeset patch # User Greg Ward # Date 2011-10-22 18:20:17 # Node ID 0e58513cc59aebc92f4c2d20ecc8bcfc09f1558f # Parent be1377d1901897420b33d73625f20321d8f59d6d largefiles: rearrange how lfconvert detects non-local repos Mainly this is so we can test that code; it has the side benefit of not requiring network I/O to reject non-local repo URLs. diff --git a/hgext/largefiles/lfcommands.py b/hgext/largefiles/lfcommands.py --- a/hgext/largefiles/lfcommands.py +++ b/hgext/largefiles/lfcommands.py @@ -43,14 +43,15 @@ def lfconvert(ui, src, dest, *pats, **op else: tolfile = True size = lfutil.getminsize(ui, True, opts.get('size'), default=None) + + if not hg.islocal(src): + raise util.Abort(_('%s is not a local Mercurial repo') % src) + if not hg.islocal(dest): + raise util.Abort(_('%s is not a local Mercurial repo') % dest) + rsrc = hg.repository(ui, src) - if not rsrc.local(): - raise util.Abort(_('%s is not a local Mercurial repo') % src) - ui.status(_('initializing destination %s\n') % dest) rdst = hg.repository(ui, dest, create=True) - if not rdst.local(): - raise util.Abort(_('%s is not a local Mercurial repo') % dest) success = False try: diff --git a/tests/test-lfconvert.t b/tests/test-lfconvert.t --- a/tests/test-lfconvert.t +++ b/tests/test-lfconvert.t @@ -45,6 +45,12 @@ $ cd .. "lfconvert" error cases + $ hg lfconvert http://localhost/foo foo + abort: http://localhost/foo is not a local Mercurial repo + [255] + $ hg lfconvert foo ssh://localhost/foo + abort: ssh://localhost/foo is not a local Mercurial repo + [255] $ hg lfconvert nosuchrepo foo abort: repository nosuchrepo not found! [255]