D6314: discovery: only calculate closed branches if required

pulkit (Pulkit Goyal) phabricator at mercurial-scm.org
Mon Apr 29 19:36:21 EDT 2019


This revision was automatically updated to reflect the committed changes.
Closed by commit rHGd0e773ad9077: discovery: only calculate closed branches if required (authored by pulkit, committed by ).

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D6314?vs=14931&id=14973

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

AFFECTED FILES
  mercurial/discovery.py

CHANGE DETAILS

diff --git a/mercurial/discovery.py b/mercurial/discovery.py
--- a/mercurial/discovery.py
+++ b/mercurial/discovery.py
@@ -340,15 +340,15 @@
     pushop.pushbranchmap = headssum
     newbranches = [branch for branch, heads in headssum.iteritems()
                    if heads[0] is None]
-    # Makes a set of closed branches
-    closedbranches = set()
-    for tag, heads, tip, isclosed in repo.branchmap().iterbranches():
-        if isclosed:
-            closedbranches.add(tag)
-    closedbranches = (closedbranches & set(newbranches))
     # 1. Check for new branches on the remote.
     if newbranches and not newbranch:  # new branch requires --new-branch
         branchnames = ', '.join(sorted(newbranches))
+        # Calculate how many of the new branches are closed branches
+        closedbranches = set()
+        for tag, heads, tip, isclosed in repo.branchmap().iterbranches():
+            if isclosed:
+                closedbranches.add(tag)
+        closedbranches = (closedbranches & set(newbranches))
         if closedbranches:
             errmsg = (_("push creates new remote branches: %s (%d closed)!")
                         % (branchnames, len(closedbranches)))



To: pulkit, #hg-reviewers
Cc: mercurial-devel


More information about the Mercurial-devel mailing list