1646 remoteversions = bundle2.obsmarkersversion(pullop.remotebundle2caps) |
1646 remoteversions = bundle2.obsmarkersversion(pullop.remotebundle2caps) |
1647 if obsolete.commonversion(remoteversions) is not None: |
1647 if obsolete.commonversion(remoteversions) is not None: |
1648 kwargs['obsmarkers'] = True |
1648 kwargs['obsmarkers'] = True |
1649 pullop.stepsdone.add('obsmarkers') |
1649 pullop.stepsdone.add('obsmarkers') |
1650 _pullbundle2extraprepare(pullop, kwargs) |
1650 _pullbundle2extraprepare(pullop, kwargs) |
1651 bundle = pullop.remote.getbundle('pull', **pycompat.strkwargs(kwargs)) |
1651 |
1652 try: |
1652 with pullop.remote.commandexecutor() as e: |
1653 op = bundle2.bundleoperation(pullop.repo, pullop.gettransaction, |
1653 args = dict(kwargs) |
1654 source='pull') |
1654 args['source'] = 'pull' |
1655 op.modes['bookmarks'] = 'records' |
1655 bundle = e.callcommand('getbundle', args).result() |
1656 bundle2.processbundle(pullop.repo, bundle, op=op) |
1656 |
1657 except bundle2.AbortFromPart as exc: |
1657 try: |
1658 pullop.repo.ui.status(_('remote: abort: %s\n') % exc) |
1658 op = bundle2.bundleoperation(pullop.repo, pullop.gettransaction, |
1659 raise error.Abort(_('pull failed on remote'), hint=exc.hint) |
1659 source='pull') |
1660 except error.BundleValueError as exc: |
1660 op.modes['bookmarks'] = 'records' |
1661 raise error.Abort(_('missing support for %s') % exc) |
1661 bundle2.processbundle(pullop.repo, bundle, op=op) |
|
1662 except bundle2.AbortFromPart as exc: |
|
1663 pullop.repo.ui.status(_('remote: abort: %s\n') % exc) |
|
1664 raise error.Abort(_('pull failed on remote'), hint=exc.hint) |
|
1665 except error.BundleValueError as exc: |
|
1666 raise error.Abort(_('missing support for %s') % exc) |
1662 |
1667 |
1663 if pullop.fetch: |
1668 if pullop.fetch: |
1664 pullop.cgresult = bundle2.combinechangegroupresults(op) |
1669 pullop.cgresult = bundle2.combinechangegroupresults(op) |
1665 |
1670 |
1666 # processing phases change |
1671 # processing phases change |