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
--- 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,
--- a/mercurial/hg.py Fri Oct 15 02:44:14 2021 +0200
+++ b/mercurial/hg.py Fri Oct 15 03:28:28 2021 +0200
@@ -942,7 +942,7 @@
exchange.pull(
local,
srcpeer,
- revs,
+ heads=revs,
streamclonerequested=stream,
includepats=storeincludepats,
excludepats=storeexcludepats,