Mercurial > hg
diff mercurial/commands.py @ 33041:e425f5aabe70
unbundle: move BundleUnknownFeatureError exception handling out
This just moves the BundleUnknownFeatureError exception handling one
level up so we collect the bundle2.applybundle{,1}() calls
together. applybundle1() will never throw the exception, so it should
have no functional consequence.
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Thu, 22 Jun 2017 15:03:13 -0700 |
parents | 2baef42a2881 |
children | dbc2ee17053e |
line wrap: on
line diff
--- a/mercurial/commands.py Wed Jun 21 21:08:48 2017 -0700 +++ b/mercurial/commands.py Thu Jun 22 15:03:13 2017 -0700 @@ -5202,23 +5202,23 @@ '"hg unbundle"'), hint=_('use "hg debugapplystreamclonebundle"')) url = 'bundle:' + fname - if isinstance(gen, bundle2.unbundle20): - with repo.transaction('unbundle') as tr: - try: + try: + if isinstance(gen, bundle2.unbundle20): + with repo.transaction('unbundle') as tr: op = bundle2.applybundle(repo, gen, tr, source='unbundle', url=url) - except error.BundleUnknownFeatureError as exc: - raise error.Abort( - _('%s: unknown bundle feature, %s') % (fname, exc), - hint=_("see https://mercurial-scm.org/" - "wiki/BundleFeature for more " - "information")) - else: - txnname = 'unbundle\n%s' % util.hidepassword(url) - with repo.transaction(txnname) as tr: - op = bundle2.applybundle1(repo, gen, tr, source='unbundle', - url=url) + else: + txnname = 'unbundle\n%s' % util.hidepassword(url) + with repo.transaction(txnname) as tr: + op = bundle2.applybundle1(repo, gen, tr, + source='unbundle', url=url) + except error.BundleUnknownFeatureError as exc: + raise error.Abort( + _('%s: unknown bundle feature, %s') % (fname, exc), + hint=_("see https://mercurial-scm.org/" + "wiki/BundleFeature for more " + "information")) modheads = bundle2.combinechangegroupresults(op) return postincoming(ui, repo, modheads, opts.get(r'update'), None, None)