[PATCH 3 of 5] hidden: add summary support
pierre-yves.david at logilab.fr
pierre-yves.david at logilab.fr
Wed Jun 15 10:26:43 CDT 2011
# HG changeset patch
# User Pierre-Yves David <pierre-yves.david at logilab.fr>
# Date 1308150438 -7200
# Node ID dd7f89674a075e080ae50c845e1d6bab31ba7563
# Parent 41c67cd46f8335731d347c9cf211d752e9ee1939
hidden: add summary support
Summary command now show the number of hidden changeset and the number of
hidable changeset that are releaved by non hidable changeset.
diff --git a/mercurial/changelog.py b/mercurial/changelog.py
--- a/mercurial/changelog.py
+++ b/mercurial/changelog.py
@@ -121,10 +121,14 @@ class changelog(revlog.revlog):
The request won't take effect until all children are hidden too.
"""
self._hidable.add(rev)
self._refreshhidden(newrevs=(rev,))
+ def statshidden(self):
+ """return (<nbhidden changeset>, <nb hidable changeset>) tuple"""
+ return len(self._hidden), len(self._hidable)
+
def _refreshhidden(self, newrevs=None):
"""Recompute the set of hidden revision
A revision is hidden if both:
* He is in the hidable,
diff --git a/mercurial/commands.py b/mercurial/commands.py
--- a/mercurial/commands.py
+++ b/mercurial/commands.py
@@ -4787,10 +4787,17 @@ def summary(ui, repo, **opts):
elif pnode not in bheads:
ui.write(_('update: %d new changesets (update)\n') % new)
else:
ui.write(_('update: %d new changesets, %d branch heads (merge)\n') %
(new, len(bheads)))
+ hidden, hidable = repo.changelog.statshidden()
+ if hidable > 0:
+ ui.write(_('hidden: %i hidden changesets\n') % hidden)
+ if hidable != hidden:
+ revealed = hidable - hidden
+ ui.write(_(' %i changesets revealed by their children\n')
+ % revealed)
if opts.get('remote'):
t = []
source, branches = hg.parseurl(ui.expandpath('default'))
other = hg.peer(repo, {}, source)
diff --git a/tests/test-log.t b/tests/test-log.t
--- a/tests/test-log.t
+++ b/tests/test-log.t
@@ -1316,10 +1316,17 @@ init repo simple hidden
4
3
2
1
0
+ $ hg summary
+ parent: 15:c8e4494f8126 tip
+ 15
+ branch: default
+ commit: (clean)
+ update: 7 new changesets, 3 branch heads (merge)
+ hidden: 2 hidden changesets
init repo complex
$ cat > .hg/hidden << EOF
> 60e67a92a94fc211dc726afc04db428f12fe0f86 won't work for 3
@@ -1363,5 +1370,14 @@ init repo complex
4
3
2
1
0
+ $ hg summary
+ parent: 15:c8e4494f8126 tip
+ 15
+ branch: default
+ commit: (clean)
+ update: 7 new changesets, 3 branch heads (merge)
+ hidden: 3 hidden changesets
+ 4 changesets revealed by their children
+
More information about the Mercurial-devel
mailing list