[PATCH 11 of 17 RFC] hidden: remove tags use in hidden computation

pierre-yves.david at logilab.fr pierre-yves.david at logilab.fr
Mon Sep 3 07:58:35 CDT 2012


# HG changeset patch
# User Pierre-Yves David <pierre-yves.david at logilab.fr>
# Date 1346675731 -7200
# Node ID 96c8e124f220d706f05b5a3643945e2ba5266644
# Parent  d48764c1f231ae0aadb75b14a4176236c9dbf40a
hidden: remove tags use in hidden computation

Tags initially prevented revision to be hidden. It seemed a bad idea to have
tags refer to revisions that one can't see. But proper filtering of hidden
revisions excludes them from tag computation. Coming changelog filtering will do
that. Anyway, tags that really matter will likely be public and therefore not
hidden.

The current working directory parent and bookmarked revision are still not
hidden. Bookmarks were likely automatically moved at rewrite time, bookmarks
that remain on obsolete revisions were probably moved there on purpose.

diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py
--- a/mercurial/localrepo.py
+++ b/mercurial/localrepo.py
@@ -310,11 +310,11 @@ class localrepository(object):
         hidden changesets cannot have non-hidden descendants
         """
         hidden = set()
         if self.obsstore:
             ### hide extinct changeset that are not accessible by any mean
-            hiddenquery = 'extinct() - ::(. + bookmark() + tagged())'
+            hiddenquery = 'extinct() - ::(. + bookmark())'
             hidden.update(self.revs(hiddenquery))
         return hidden
 
     @storecache('00changelog.i')
     def changelog(self):


More information about the Mercurial-devel mailing list