exchange: pass pushop to discovery.checkheads
authorRyan McElroy <rmcelroy@fb.com>
Tue, 10 Nov 2015 11:13:21 -0800
changeset 26935 c4a7bbc78c74
parent 26934 2fb17f60bffa
child 26936 d47ac02fcefa
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.
mercurial/discovery.py
mercurial/exchange.py
--- 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
--- a/mercurial/exchange.py	Thu Nov 12 15:26:30 2015 -0600
+++ b/mercurial/exchange.py	Tue Nov 10 11:13:21 2015 -0800
@@ -571,13 +571,7 @@
                 elif ctx.troubled():
                     raise error.Abort(mst[ctx.troubles()[0]] % ctx)
 
-        # internal config: bookmarks.pushing
-        newbm = pushop.ui.configlist('bookmarks', 'pushing')
-        discovery.checkheads(unfi, pushop.remote, outgoing,
-                             pushop.remoteheads,
-                             pushop.newbranch,
-                             bool(pushop.incoming),
-                             newbm)
+        discovery.checkheads(pushop)
     return True
 
 # List of names of steps to perform for an outgoing bundle2, order matters.