[PATCH] graphlog: implement --hidden
Patrick Mezard
patrick at mezard.eu
Fri Apr 13 05:18:13 CDT 2012
# HG changeset patch
# User Patrick Mezard <patrick at mezard.eu>
# Date 1334304925 -7200
# Node ID 80c8d26b4e2a421b8d77b2f35e78925d50608615
# Parent a232a1b5ae9b0b3e9469d1567e36a6c42f6563e3
graphlog: implement --hidden
diff --git a/hgext/graphlog.py b/hgext/graphlog.py
--- a/hgext/graphlog.py
+++ b/hgext/graphlog.py
@@ -427,6 +427,10 @@
# filtered result.
matched = set(revset.match(repo.ui, expr)(repo, sorted(revs)))
revs = [r for r in revs if r in matched]
+ if not opts.get('hidden'):
+ # --hidden is still experimental and not worth a dedicated revset
+ # yet. Fortunately, filtering revision number is fast.
+ revs = [r for r in revs if r not in repo.changelog.hiddenrevs]
return revs, expr, filematcher
def generate(ui, dag, displayer, showparents, edgefn, getrenamed=None,
diff --git a/tests/test-glog.t b/tests/test-glog.t
--- a/tests/test-glog.t
+++ b/tests/test-glog.t
@@ -2026,3 +2026,22 @@
('string', 'r:')
('string', 'd:relpath'))
('string', 'p:.'))))
+ $ cd ..
+
+Test --hidden
+
+ $ 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]' >> .hg/hgrc
+ $ echo "hidden=$HGTMP/testhidden.py" >> .hg/hgrc
+ $ hg id --debug -i -r 0 > .hg/hidden
+ $ testlog
+ []
+ []
+ $ testlog --hidden
+ []
+ []
More information about the Mercurial-devel
mailing list