diff mercurial/discovery.py @ 32673:bd966b9f3274

checkheads: clarify that we no longer touch the head unknown locally Since c6cb21ddf74a, heads unknown locally no longer get any post processing from obsolescence markers. We clarify this fact by only feeding the list of locally known new heads to the function. This simplification of the input will help moving that post-processing earlier in the function.
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Mon, 29 May 2017 05:20:09 +0200
parents 315d74d0f059
children 7a7c4f3afb98
line wrap: on
line diff
--- a/mercurial/discovery.py	Mon May 29 05:33:59 2017 +0200
+++ b/mercurial/discovery.py	Mon May 29 05:20:09 2017 +0200
@@ -340,22 +340,21 @@
         allfuturecommon.update(allmissing)
     for branch, heads in sorted(headssum.iteritems()):
         remoteheads, newheads, unsyncedheads = heads
-        candidate_newhs = set(newheads)
         # add unsynced data
         if remoteheads is None:
             oldhs = set()
         else:
             oldhs = set(remoteheads)
         oldhs.update(unsyncedheads)
-        candidate_newhs.update(unsyncedheads)
         dhs = None # delta heads, the new heads on branch
         if not repo.obsstore:
             discardedheads = set()
-            newhs = candidate_newhs
+            newhs = set(newheads)
         else:
             newhs, discardedheads = _postprocessobsolete(pushop,
                                                          allfuturecommon,
-                                                         candidate_newhs)
+                                                         newheads)
+        newhs.update(unsyncedheads)
         unsynced = sorted(h for h in unsyncedheads if h not in discardedheads)
         if unsynced:
             if None in unsynced: