Patchwork D11674: path: keep the path instance in the `pulloperation`

login
register
mail settings
Submitter phabricator
Date Oct. 15, 2021, 8:19 a.m.
Message ID <differential-rev-PHID-DREV-m7e4rq43sycakvyuwp7n-req@mercurial-scm.org>
Download mbox | patch
Permalink /patch/49998/
State Superseded
Headers show

Comments

phabricator - Oct. 15, 2021, 8:19 a.m.
marmoute created this revision.
Herald added a reviewer: hg-reviewers.
Herald added a subscriber: mercurial-patches.

REVISION SUMMARY
  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.

REPOSITORY
  rHG Mercurial

BRANCH
  default

REVISION DETAIL
  https://phab.mercurial-scm.org/D11674

AFFECTED FILES
  mercurial/commands.py
  mercurial/exchange.py

CHANGE DETAILS




To: marmoute, #hg-reviewers
Cc: mercurial-patches, mercurial-devel

Patch

diff --git a/mercurial/exchange.py b/mercurial/exchange.py
--- a/mercurial/exchange.py
+++ b/mercurial/exchange.py
@@ -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,
     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,
diff --git a/mercurial/commands.py b/mercurial/commands.py
--- a/mercurial/commands.py
+++ b/mercurial/commands.py
@@ -5454,6 +5454,7 @@ 
                 modheads = exchange.pull(
                     repo,
                     other,
+                    path=path,
                     heads=nodes,
                     force=opts.get(b'force'),
                     bookmarks=opts.get(b'bookmark', ()),