D3316: exchange: use command executor for getbundle
indygreg (Gregory Szorc)
phabricator at mercurial-scm.org
Fri Apr 13 18:20:54 EDT 2018
This revision was automatically updated to reflect the committed changes.
Closed by commit rHG8f3c6fb55369: exchange: use command executor for getbundle (authored by indygreg, committed by ).
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D3316?vs=8136&id=8184
REVISION DETAIL
https://phab.mercurial-scm.org/D3316
AFFECTED FILES
mercurial/exchange.py
CHANGE DETAILS
diff --git a/mercurial/exchange.py b/mercurial/exchange.py
--- a/mercurial/exchange.py
+++ b/mercurial/exchange.py
@@ -1648,17 +1648,22 @@
kwargs['obsmarkers'] = True
pullop.stepsdone.add('obsmarkers')
_pullbundle2extraprepare(pullop, kwargs)
- bundle = pullop.remote.getbundle('pull', **pycompat.strkwargs(kwargs))
- try:
- op = bundle2.bundleoperation(pullop.repo, pullop.gettransaction,
- source='pull')
- op.modes['bookmarks'] = 'records'
- bundle2.processbundle(pullop.repo, bundle, op=op)
- except bundle2.AbortFromPart as exc:
- pullop.repo.ui.status(_('remote: abort: %s\n') % exc)
- raise error.Abort(_('pull failed on remote'), hint=exc.hint)
- except error.BundleValueError as exc:
- raise error.Abort(_('missing support for %s') % exc)
+
+ with pullop.remote.commandexecutor() as e:
+ args = dict(kwargs)
+ args['source'] = 'pull'
+ bundle = e.callcommand('getbundle', args).result()
+
+ try:
+ op = bundle2.bundleoperation(pullop.repo, pullop.gettransaction,
+ source='pull')
+ op.modes['bookmarks'] = 'records'
+ bundle2.processbundle(pullop.repo, bundle, op=op)
+ except bundle2.AbortFromPart as exc:
+ pullop.repo.ui.status(_('remote: abort: %s\n') % exc)
+ raise error.Abort(_('pull failed on remote'), hint=exc.hint)
+ except error.BundleValueError as exc:
+ raise error.Abort(_('missing support for %s') % exc)
if pullop.fetch:
pullop.cgresult = bundle2.combinechangegroupresults(op)
To: indygreg, #hg-reviewers, durin42
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list