[PATCH 1 of 2 RFCv2] repoview: hide bookmarks that are prefixed with '.hg/'
Idan Kamara
idankk86 at gmail.com
Thu Feb 14 18:15:22 CST 2013
# HG changeset patch
# User Idan Kamara <idankk86 at gmail.com>
# Date 1360886120 -7200
# Node ID d4c029076cf2213ad680a53dfd32b0886b2b7be0
# Parent af4387d8d1c79ed597bdba7e8e41433efd5255ed
repoview: hide bookmarks that are prefixed with '.hg/'
These bookmarks are used internally by things like stashed commits
and should be hidden.
diff --git a/mercurial/repoview.py b/mercurial/repoview.py
--- a/mercurial/repoview.py
+++ b/mercurial/repoview.py
@@ -16,7 +16,11 @@
"""Revisions candidates to be hidden
This is a standalone function to help extensions to wrap it."""
- return obsolete.getrevs(repo, 'obsolete')
+ revs = list(obsolete.getrevs(repo, 'obsolete'))
+ for name, node in repo._bookmarks.items():
+ if name.startswith('.hg/'):
+ revs.append(repo[node].rev())
+ return revs
def computehidden(repo):
"""compute the set of hidden revision to filter
@@ -32,7 +36,10 @@
if r not in hideable]
for par in repo[None].parents():
blockers.append(par.rev())
- for bm in repo._bookmarks.values():
+ for name, bm in repo._bookmarks.items():
+ # internal bookmarks should remain hidden
+ if name.startswith('.hg/'):
+ continue
blockers.append(repo[bm].rev())
blocked = cl.ancestors(blockers, inclusive=True)
return frozenset(r for r in hideable if r not in blocked)
More information about the Mercurial-devel
mailing list