[PATCH STABLE?] revset: add a hidden revset symbol
Pierre-Yves David
pierre-yves.david at ens-lyon.org
Sat Jan 7 07:53:26 CST 2012
# HG changeset patch
# User Pierre-Yves David <pierre-yves.david at ens-lyon.org>
# Date 1325842099 -3600
# Node ID 7bd581da2afd75fc603a1469e3af20539e44672b
# Parent 7058a6c38ba712ca1560c2fe9f4212d58bae5a93
revset: add a hidden revset symbol
Also update the revset test to allow any number of argument for the ``log``
function.
diff --git a/mercurial/revset.py b/mercurial/revset.py
--- a/mercurial/revset.py
+++ b/mercurial/revset.py
@@ -517,6 +517,13 @@
ps = set(parents(repo, subset, x))
return [r for r in s if r not in ps]
+def hidden(repo, subset, x):
+ """``hidden()``
+ Hidden changeset.
+ """
+ getargs(x, 0, 0, _("hidden takes no arguments"))
+ return [r for r in subset if r in repo.changelog.hiddenrevs]
+
def keyword(repo, subset, x):
"""``keyword(string)``
Search commit message, user name, and names of changed files for
@@ -868,6 +875,7 @@
"grep": grep,
"head": head,
"heads": heads,
+ "hidden": hidden,
"id": node,
"keyword": keyword,
"last": last,
diff --git a/tests/test-revset.t b/tests/test-revset.t
--- a/tests/test-revset.t
+++ b/tests/test-revset.t
@@ -8,7 +8,9 @@
> }
$ log() {
- > hg log --template '{rev}\n' -r "$1"
+ > revset=$1
+ > shift
+ > hg log --template '{rev}\n' -r "$revset" $@
> }
$ hg init repo
@@ -360,6 +362,28 @@
$ log '4::8 - 8'
4
+setup basic hidden extension for testing hidden symbol
+
+ $ cat > $HGTMP/testhidden.py << EOF
+ > def reposetup(ui, repo):
+ > for line in repo.opener('hidden'):
+ > ctx = repo[line.strip()]
+ > repo.changelog.hiddenrevs.add(ctx.rev())
+ > EOF
+ $ echo '[extensions]' >> $HGRCPATH
+ $ echo "hidden=$HGTMP/testhidden.py" >> $HGRCPATH
+ $ touch .hg/hidden
+ $ hg log --template='{node}\n' -r "8::" > a765632148dc55d38c35c4f247c618701886cb2f > .hg/hidden
+ $ log 'hidden()' --hidden
+ 8
+ 9
+ $ log '(4+8) and hidden()' --hidden
+ 8
+
+clear extensions configuration
+ $ echo '[extensions]' >> $HGRCPATH
+ $ echo "hidden=!" >> $HGRCPATH
+
issue2437
$ log '3 and p1(5)'
More information about the Mercurial-devel
mailing list