Mercurial > hg-stable
changeset 33054:dbc2ee17053e
bundle: transpose transaction scope with bundle type switch
This moves the transaction with-statements outside of the
per-bundle-version switches, so the next patch will be a little
simpler.
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Thu, 22 Jun 2017 21:27:57 -0700 |
parents | e425f5aabe70 |
children | 18c2489ac96d |
files | mercurial/commands.py mercurial/repair.py |
diffstat | 2 files changed, 12 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/commands.py Thu Jun 22 15:03:13 2017 -0700 +++ b/mercurial/commands.py Thu Jun 22 21:27:57 2017 -0700 @@ -5203,14 +5203,15 @@ hint=_('use "hg debugapplystreamclonebundle"')) url = 'bundle:' + fname try: - if isinstance(gen, bundle2.unbundle20): - with repo.transaction('unbundle') as tr: + txnname = 'unbundle' + if not isinstance(gen, bundle2.unbundle20): + txnname = 'unbundle\n%s' % util.hidepassword(url) + with repo.transaction(txnname) as tr: + if isinstance(gen, bundle2.unbundle20): op = bundle2.applybundle(repo, gen, tr, source='unbundle', url=url) - else: - txnname = 'unbundle\n%s' % util.hidepassword(url) - with repo.transaction(txnname) as tr: + else: op = bundle2.applybundle1(repo, gen, tr, source='unbundle', url=url) except error.BundleUnknownFeatureError as exc:
--- a/mercurial/repair.py Thu Jun 22 15:03:13 2017 -0700 +++ b/mercurial/repair.py Thu Jun 22 21:27:57 2017 -0700 @@ -207,13 +207,14 @@ # silence internal shuffling chatter repo.ui.pushbuffer() tmpbundleurl = 'bundle:' + vfs.join(tmpbundlefile) - if isinstance(gen, bundle2.unbundle20): - with repo.transaction('strip') as tr: + txnname = 'strip' + if not isinstance(gen, bundle2.unbundle20): + txnname = "strip\n%s" % util.hidepassword(tmpbundleurl) + with repo.transaction(txnname) as tr: + if isinstance(gen, bundle2.unbundle20): bundle2.applybundle(repo, gen, tr, source='strip', url=tmpbundleurl) - else: - txnname = "strip\n%s" % util.hidepassword(tmpbundleurl) - with repo.transaction(txnname) as tr: + else: bundle2.applybundle1(repo, gen, tr, 'strip', tmpbundleurl, emptyok=True) if not repo.ui.verbose: