mercurial/setdiscovery.py
changeset 41280 f4277a35c42c
parent 41245 2a8782cc2e16
child 41304 76873548b051
--- a/mercurial/setdiscovery.py	Thu Jan 17 00:16:00 2019 -0500
+++ b/mercurial/setdiscovery.py	Fri Jan 04 16:04:48 2019 +0100
@@ -187,14 +187,10 @@
 
     def addmissings(self, missings):
         """registrer some nodes as missing"""
-        if self.missing:
-            new = self._repo.revs('descendants(%ld) - descendants(%ld)',
-                                  missings, self.missing)
-            self.missing.update(new)
-        else:
-            self.missing.update(self._repo.revs('descendants(%ld)', missings))
-
-        self.undecided.difference_update(self.missing)
+        newmissing = self._repo.revs('%ld::%ld', missings, self.undecided)
+        if newmissing:
+            self.missing.update(newmissing)
+            self.undecided.difference_update(newmissing)
 
     def addinfo(self, sample):
         """consume an iterable of (rev, known) tuples"""