diff mercurial/localrepo.py @ 15889:816209eaf963

phases: make secret changeset undiscoverable in all case This apply the redefined stronger semantic of secret. Secret changeset can still leak in various way. Those leak will need to be fixed individualy
author Pierre-Yves David <pierre-yves.david@ens-lyon.org>
date Thu, 12 Jan 2012 01:25:57 +0100
parents 2072e4031994
children e234eda20984
line wrap: on
line diff
--- a/mercurial/localrepo.py	Wed Jan 11 17:26:27 2012 +0100
+++ b/mercurial/localrepo.py	Thu Jan 12 01:25:57 2012 +0100
@@ -621,7 +621,12 @@
 
     def known(self, nodes):
         nm = self.changelog.nodemap
-        return [(n in nm) for n in nodes]
+        result = []
+        for n in nodes:
+            r = nm.get(n)
+            resp = not (r is None or self._phaserev[r] >= phases.secret)
+            result.append(resp)
+        return result
 
     def local(self):
         return self