Mercurial > hg-stable
changeset 33055:18c2489ac96d
bundle: make applybundle() delegate v1 bundles to applybundle1()
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Thu, 22 Jun 2017 15:00:19 -0700 |
parents | dbc2ee17053e |
children | 1d2b68952950 |
files | hgext/histedit.py hgext/shelve.py mercurial/bundle2.py mercurial/commands.py mercurial/exchange.py mercurial/repair.py |
diffstat | 6 files changed, 25 insertions(+), 46 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/histedit.py Thu Jun 22 21:27:57 2017 -0700 +++ b/hgext/histedit.py Thu Jun 22 15:00:19 2017 -0700 @@ -1198,14 +1198,8 @@ f = hg.openpath(ui, backupfile) gen = exchange.readbundle(ui, f, backupfile) with repo.transaction('histedit.abort') as tr: - if not isinstance(gen, bundle2.unbundle20): - bundle2.applybundle1(repo, gen, tr, - source='histedit', - url='bundle:' + backupfile) - else: - bundle2.applybundle(repo, gen, tr, - source='histedit', - url='bundle:' + backupfile) + bundle2.applybundle(repo, gen, tr, source='histedit', + url='bundle:' + backupfile) os.remove(backupfile)
--- a/hgext/shelve.py Thu Jun 22 21:27:57 2017 -0700 +++ b/hgext/shelve.py Thu Jun 22 15:00:19 2017 -0700 @@ -126,17 +126,10 @@ fp = self.opener() try: gen = exchange.readbundle(self.repo.ui, fp, self.fname, self.vfs) - if not isinstance(gen, bundle2.unbundle20): - bundle2.applybundle1(self.repo, gen, - self.repo.currenttransaction(), - source='unshelve', - url='bundle:' + self.vfs.join(self.fname), - targetphase=phases.secret) - else: - bundle2.applybundle(self.repo, gen, - self.repo.currenttransaction(), - source='unshelve', - url='bundle:' + self.vfs.join(self.fname)) + bundle2.applybundle(self.repo, gen, self.repo.currenttransaction(), + source='unshelve', + url='bundle:' + self.vfs.join(self.fname), + targetphase=phases.secret) finally: fp.close()
--- a/mercurial/bundle2.py Thu Jun 22 21:27:57 2017 -0700 +++ b/mercurial/bundle2.py Thu Jun 22 15:00:19 2017 -0700 @@ -316,14 +316,17 @@ _processchangegroup(op, cg, tr, source, url, **kwargs) return op -def applybundle(repo, unbundler, tr, source=None, url=None): +def applybundle(repo, unbundler, tr, source=None, url=None, **kwargs): # transform me into unbundler.apply() as soon as the freeze is lifted - tr.hookargs['bundle2'] = '1' - if source is not None and 'source' not in tr.hookargs: - tr.hookargs['source'] = source - if url is not None and 'url' not in tr.hookargs: - tr.hookargs['url'] = url - return processbundle(repo, unbundler, lambda: tr) + if isinstance(unbundler, unbundle20): + tr.hookargs['bundle2'] = '1' + if source is not None and 'source' not in tr.hookargs: + tr.hookargs['source'] = source + if url is not None and 'url' not in tr.hookargs: + tr.hookargs['url'] = url + return processbundle(repo, unbundler, lambda: tr) + else: + return applybundle1(repo, unbundler, tr, source, url, **kwargs) def processbundle(repo, unbundler, transactiongetter=None, op=None): """This function process a bundle, apply effect to/from a repo
--- a/mercurial/commands.py Thu Jun 22 21:27:57 2017 -0700 +++ b/mercurial/commands.py Thu Jun 22 15:00:19 2017 -0700 @@ -5207,13 +5207,8 @@ 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: - op = bundle2.applybundle1(repo, gen, tr, - source='unbundle', url=url) + 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),
--- a/mercurial/exchange.py Thu Jun 22 21:27:57 2017 -0700 +++ b/mercurial/exchange.py Thu Jun 22 15:00:19 2017 -0700 @@ -1448,8 +1448,8 @@ "changegroupsubset.")) else: cg = pullop.remote.changegroupsubset(pullop.fetch, pullop.heads, 'pull') - bundleop = bundle2.applybundle1(pullop.repo, cg, tr, 'pull', - pullop.remote.url()) + bundleop = bundle2.applybundle(pullop.repo, cg, tr, 'pull', + pullop.remote.url()) pullop.cgresult = bundle2.combinechangegroupresults(bundleop) def _pullphase(pullop): @@ -1738,7 +1738,7 @@ # legacy case: bundle1 (changegroup 01) txnname = "\n".join([source, util.hidepassword(url)]) with repo.lock(), repo.transaction(txnname) as tr: - op = bundle2.applybundle1(repo, cg, tr, source, url) + op = bundle2.applybundle(repo, cg, tr, source, url) r = bundle2.combinechangegroupresults(op) else: r = None @@ -1999,12 +1999,10 @@ fh = urlmod.open(ui, url) cg = readbundle(ui, fh, 'stream') - if isinstance(cg, bundle2.unbundle20): - bundle2.applybundle(repo, cg, tr, 'clonebundles', url) - elif isinstance(cg, streamclone.streamcloneapplier): + if isinstance(cg, streamclone.streamcloneapplier): cg.apply(repo) else: - bundle2.applybundle1(repo, cg, tr, 'clonebundles', url) + bundle2.applybundle(repo, cg, tr, 'clonebundles', url) return True except urlerr.httperror as e: ui.warn(_('HTTP error fetching bundle: %s\n') % str(e))
--- a/mercurial/repair.py Thu Jun 22 21:27:57 2017 -0700 +++ b/mercurial/repair.py Thu Jun 22 15:00:19 2017 -0700 @@ -211,12 +211,8 @@ 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: - bundle2.applybundle1(repo, gen, tr, 'strip', tmpbundleurl, - emptyok=True) + bundle2.applybundle(repo, gen, tr, source='strip', + url=tmpbundleurl, emptyok=True) if not repo.ui.verbose: repo.ui.popbuffer() f.close()