changeset 26936:d47ac02fcefa

discovery: pass pushop to _nowarnheads Previously, we passed only enough information to _nowarnheads to perform the old calculation. However, extensions may want to use more information in this calculation. Now that pushop is extensible, extensions will often want access to the additional fields they have added to the pushop, so pass that through. Specifically, the remotenames extension will use this information to allow pushing new heads that are bookmarked without requiring --force.
author Ryan McElroy <rmcelroy@fb.com>
date Tue, 10 Nov 2015 11:16:25 -0800
parents c4a7bbc78c74
children dda0aa3baedd
files mercurial/discovery.py
diffstat 1 files changed, 8 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/discovery.py	Tue Nov 10 11:13:21 2015 -0800
+++ b/mercurial/discovery.py	Tue Nov 10 11:16:25 2015 -0800
@@ -238,8 +238,14 @@
         unsynced = set()
     return {None: (oldheads, newheads, unsynced)}
 
-def _nowarnheads(repo, remote, newbookmarks):
+def _nowarnheads(pushop):
     # Compute newly pushed bookmarks. We don't warn about bookmarked heads.
+
+    # internal config: bookmarks.pushing
+    newbookmarks = pushop.ui.configlist('bookmarks', 'pushing')
+
+    repo = pushop.repo.unfiltered()
+    remote = pushop.remote
     localbookmarks = repo._bookmarks
     remotebookmarks = remote.listkeys('bookmarks')
     bookmarkedheads = set()
@@ -268,9 +274,6 @@
     newbranch = pushop.newbranch
     inc = bool(pushop.incoming)
 
-    # internal config: bookmarks.pushing
-    newbookmarks = pushop.ui.configlist('bookmarks', 'pushing')
-
     # Check for each named branch if we're creating new remote heads.
     # To be a remote head after push, node must be either:
     # - unknown locally
@@ -296,7 +299,7 @@
                                 " new remote branches"))
 
     # 2. Find heads that we need not warn about
-    nowarnheads = _nowarnheads(repo, remote, newbookmarks)
+    nowarnheads = _nowarnheads(pushop)
 
     # 3. Check for new heads.
     # If there are more heads after the push than before, a suitable