diff mercurial/discovery.py @ 26935:c4a7bbc78c74

exchange: pass pushop to discovery.checkheads Previously, we passed a bunch of parameters to discovery.checkheads, but all of the arguments can be fetched out of pushop, which may contain a lot more useful information for extensions now that pushop is extensible.
author Ryan McElroy <rmcelroy@fb.com>
date Tue, 10 Nov 2015 11:13:21 -0800
parents 894f54d84d4a
children d47ac02fcefa
line wrap: on
line diff
--- a/mercurial/discovery.py	Thu Nov 12 15:26:30 2015 -0600
+++ b/mercurial/discovery.py	Tue Nov 10 11:13:21 2015 -0800
@@ -255,12 +255,22 @@
 
     return bookmarkedheads
 
-def checkheads(repo, remote, outgoing, remoteheads, newbranch=False, inc=False,
-               newbookmarks=[]):
+def checkheads(pushop):
     """Check that a push won't add any outgoing head
 
     raise Abort error and display ui message as needed.
     """
+
+    repo = pushop.repo.unfiltered()
+    remote = pushop.remote
+    outgoing = pushop.outgoing
+    remoteheads = pushop.remoteheads
+    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