[PATCH 3 of 8] revset: add an `obsolete` symbol
Pierre-Yves David
pierre-yves.david at ens-lyon.org
Thu Jul 5 19:27:25 CDT 2012
# HG changeset patch
# User Pierre-Yves David <pierre-yves.david at logilab.fr>
# Date 1341532071 -7200
# Node ID ecafdf5e839891c83dba6245bcf087d87c2b6263
# Parent eb9bc47c436b0719a45503d0577a7864ccccbd4f
revset: add an `obsolete` symbol
This predicate march obsolete changesets.
This is a naive implementation to be improved later.
diff --git a/mercurial/revset.py b/mercurial/revset.py
--- a/mercurial/revset.py
+++ b/mercurial/revset.py
@@ -875,6 +875,12 @@
return [r for r in subset if r == rn]
+def obsolete(repo, subset, x):
+ """``obsolete()``
+ Mutable changeset with a newer version."""
+ getargs(x, 0, 0, _("merge takes no arguments"))
+ return [r for r in subset if repo[r].obsolete()]
+
def outgoing(repo, subset, x):
"""``outgoing([path])``
Changesets not found in the specified destination repository, or the
@@ -1369,6 +1375,7 @@
"merge": merge,
"min": minrev,
"modifies": modifies,
+ "obsolete": obsolete,
"outgoing": outgoing,
"p1": p1,
"p2": p2,
diff --git a/tests/test-obsolete.t b/tests/test-obsolete.t
--- a/tests/test-obsolete.t
+++ b/tests/test-obsolete.t
@@ -174,7 +174,7 @@
abort: push includes an obsolete changeset: cdbce2fbb163!
[255]
$ hg -R tmpd debugobsolete
- $ hg -R tmpb push tmpd --rev 5601fb93a350 --rev 245bde4270cd
+ $ hg -R tmpb push tmpd --rev 'not obsolete()'
pushing to tmpd
searching for changes
adding changesets
More information about the Mercurial-devel
mailing list