revset: mark spot that feeds a set to a baseset
authorPierre-Yves David <pierre-yves.david@fb.com>
Thu, 11 Jun 2015 15:43:11 -0700
changeset 25553 fa2e91d00e4c
parent 25552 4644e991a12a
child 25554 94441df6206c
revset: mark spot that feeds a set to a baseset Sets have non-defined order and this should break stuff, but as we are lucky fullreposet is also broken so the result is "not too bad". We should fix it anyway, but it is too much for my current plate.
mercurial/revset.py
--- a/mercurial/revset.py	Thu Jun 11 15:37:17 2015 -0700
+++ b/mercurial/revset.py	Thu Jun 11 15:43:11 2015 -0700
@@ -627,6 +627,8 @@
         for p in pr(r):
             if p in parentset:
                 cs.add(r)
+    # XXX using a set to feed the baseset is wrong. Sets are not ordered.
+    # This does not break because of other fullreposet misbehavior.
     return baseset(cs)
 
 def children(repo, subset, x):
@@ -1105,6 +1107,8 @@
     hs = set()
     for b, ls in repo.branchmap().iteritems():
         hs.update(repo[h].rev() for h in ls)
+    # XXX using a set to feed the baseset is wrong. Sets are not ordered.
+    # This does not break because of other fullreposet misbehavior.
     # XXX We should not be using '.filter' here, but combines subset with '&'
     # XXX We should combine with subset first: 'subset & baseset(...)'. This is
     # necessary to ensure we preserve the order in subset.