Mercurial > hg
changeset 48241:7d1e60244561
path: keep the path instance in the `pulloperation`
This will allow more pull code to use the path options. Ideally we would modify
the peer API to keep the path instance. However that is much more churn that I
can deal with for my current goal: adjusting a user facing API for a new
feature before we release it in the 6.0 changesets. So I am taking a shortcut
that seems reasonable.
Differential Revision: https://phab.mercurial-scm.org/D11674
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Fri, 15 Oct 2021 03:28:28 +0200 |
parents | 607e9322fc89 |
children | 4d2ab365699e |
files | hgext/convert/hg.py mercurial/bundlerepo.py mercurial/commands.py mercurial/exchange.py mercurial/hg.py |
diffstat | 5 files changed, 15 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/convert/hg.py Fri Oct 15 02:44:14 2021 +0200 +++ b/hgext/convert/hg.py Fri Oct 15 03:28:28 2021 +0200 @@ -145,7 +145,7 @@ _(b'pulling from %s into %s\n') % (pbranch, branch) ) exchange.pull( - self.repo, prepo, [prepo.lookup(h) for h in heads] + self.repo, prepo, heads=[prepo.lookup(h) for h in heads] ) self.before()
--- a/mercurial/bundlerepo.py Fri Oct 15 02:44:14 2021 +0200 +++ b/mercurial/bundlerepo.py Fri Oct 15 03:28:28 2021 +0200 @@ -699,7 +699,9 @@ }, ).result() - pullop = exchange.pulloperation(bundlerepo, peer, heads=reponodes) + pullop = exchange.pulloperation( + bundlerepo, peer, path=None, heads=reponodes + ) pullop.trmanager = bundletransactionmanager() exchange._pullapplyphases(pullop, remotephases)
--- a/mercurial/commands.py Fri Oct 15 02:44:14 2021 +0200 +++ b/mercurial/commands.py Fri Oct 15 03:28:28 2021 +0200 @@ -5454,6 +5454,7 @@ modheads = exchange.pull( repo, other, + path=path, heads=nodes, force=opts.get(b'force'), bookmarks=opts.get(b'bookmark', ()),
--- a/mercurial/exchange.py Fri Oct 15 02:44:14 2021 +0200 +++ b/mercurial/exchange.py Fri Oct 15 03:28:28 2021 +0200 @@ -1378,6 +1378,7 @@ self, repo, remote, + path, heads=None, force=False, bookmarks=(), @@ -1391,6 +1392,10 @@ self.repo = repo # repo we pull from self.remote = remote + # path object used to build this remote + # + # Ideally, the remote peer would carry that directly. + self.remote_path = path # revision we try to pull (None is "all") self.heads = heads # bookmark pulled explicitly @@ -1556,6 +1561,7 @@ def pull( repo, remote, + path=None, heads=None, force=False, bookmarks=(), @@ -1611,8 +1617,9 @@ pullop = pulloperation( repo, remote, - heads, - force, + path=path, + heads=heads, + force=force, bookmarks=bookmarks, streamclonerequested=streamclonerequested, includepats=includepats,