[PATCH 1 of 4 accept-scripts] cleanup: adapt for landing of extdata in core by removing ext{revset, template}
Augie Fackler
raf at durin42.com
Thu Nov 8 00:57:28 UTC 2018
# HG changeset patch
# User Augie Fackler <raf at durin42.com>
# Date 1541633026 18000
# Wed Nov 07 18:23:46 2018 -0500
# Node ID fa593e6a69f59fef0a10a03671ec14b1aa59a283
# Parent bafcc443cd52382c574822bd4fef2f83141b10e1
cleanup: adapt for landing of extdata in core by removing ext{revset,template}
These don't work on a modern Mercurial anyway. Tests updated to
demonstrate how to use extdata instead.
diff --git a/extrevset.py b/extrevset.py
deleted file mode 100644
--- a/extrevset.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# extrevset.py support external revset keywords
-#
-# Copyright (C) 2016 Matt Mackall <mpm at selenic.com>
-#
-# This software may be used and distributed according to the terms of the
-# GNU General Public License version 2 or any later version.
-
-from mercurial.i18n import _
-from mercurial import util
-from mercurial import registrar
-from mercurial import revset
-
-revsetpredicate = registrar.revsetpredicate()
-
-def buildrevset(name, cmd):
- @revsetpredicate('%s()' % name)
- def myrevset(repo, subset, x): # pylint: disable=unused-variable
- """External shell revset"""
- revset.getargs(x, 0, 0, _("%s takes no arguments") % name)
- results = set()
- for l in util.popen(cmd):
- n = l.strip().split()[0]
- if n in repo:
- results.add(repo[n].rev())
- return revset.baseset([r for r in subset if r in results])
-
-def extsetup(ui):
- for k,v in ui.configitems("extrevset"):
- typ, cmd = v.split(':')
- if typ == "shell":
- buildrevset(k, cmd)
diff --git a/exttemplate.py b/exttemplate.py
deleted file mode 100644
--- a/exttemplate.py
+++ /dev/null
@@ -1,37 +0,0 @@
-# exttemplate.py support external template keywords
-#
-# Copyright (C) 2016 Matt Mackall <mpm at selenic.com>
-#
-# This software may be used and distributed according to the terms of the
-# GNU General Public License version 2 or any later version.
-
-from mercurial import util
-from mercurial import registrar
-
-templatekeyword = registrar.templatekeyword()
-
-def buildkeyword(name, cmd):
- # gets bound to closure
- cache = []
-
- @templatekeyword(name)
- def mykeyword(repo, ctx, **args): # pylint: disable=unused-variable,unused-argument
- """External shell template keyword"""
- if not cache:
- results = {}
- for l in util.popen(cmd):
- try:
- k, v = l.strip().split(" ", 1)
- if k in repo:
- results[k] = v
- except ValueError:
- pass
- cache.append(results)
- results = cache[0]
- return results.get(ctx.hex(), "")
-
-def extsetup(ui):
- for k,v in ui.configitems("exttemplate"):
- typ, cmd = v.split(':')
- if typ == "shell":
- buildkeyword(k, cmd)
diff --git a/tests/lib.sh b/tests/lib.sh
--- a/tests/lib.sh
+++ b/tests/lib.sh
@@ -60,13 +60,11 @@ alias diffhash="$TESTDIR/../diffhash"
alias update-diffhashes="$TESTDIR/../update-diffhashes"
cat >> $HGRCPATH <<EOF
-[extensions]
-exttemplate = $TESTDIR/../exttemplate.py
-extrevset = $TESTDIR/../extrevset.py
-
-[exttemplate]
+[extdata]
reviewers = shell:$TESTDIR/../reviewed
+_byalice = shell:$TESTDIR/../reviewed | grep alice
+
+[revsetalias]
+byalice = extdata(_byalice)
-[extrevset]
-byalice = shell:$TESTDIR/../reviewed | grep alice
EOF
diff --git a/tests/test-diffhashes.t b/tests/test-diffhashes.t
--- a/tests/test-diffhashes.t
+++ b/tests/test-diffhashes.t
@@ -19,7 +19,7 @@
e49acdfe1396efbda77644ef349f82d2442065a6
$ hg ci --amend --date '1 0' --message 'Add beta (corrected)'
- saved backup bundle to $TESTTMP/source/.hg/strip-backup/ff05b7beb451-f05ceee3-amend-backup.hg (glob)
+ saved backup bundle to $TESTTMP/source/.hg/strip-backup/ff05b7beb451-f05ceee3-*.hg (glob)
$ hg export
# HG changeset patch
# User alice
@@ -42,7 +42,7 @@ Note that the diffhash doesn't change he
$ echo 'content of beta' >> beta
$ hg ci --amend --date '1 0' --message 'Add beta (corrected)'
- saved backup bundle to $TESTTMP/source/.hg/strip-backup/9c1cf7d076f2-034e2cfa-amend-backup.hg (glob)
+ saved backup bundle to $TESTTMP/source/.hg/strip-backup/*.hg (glob)
This "unknown revision" abort is because obsolete markers aren't enabled
in the test repositories. It should be harmless.
$ update-diffhashes
@@ -81,7 +81,7 @@ Now we amend the change, and record the
the approval doesn't follow it to the new node.
$ hg ci --amend --message 'amended message of tip' --date '100 0'
- saved backup bundle to $TESTTMP/source/.hg/strip-backup/4db820271774-59296beb-amend-backup.hg (glob)
+ saved backup bundle to $TESTTMP/source/.hg/strip-backup/4db820271774-59296beb-*.hg (glob)
$ logpush tip alice alice
$ accepted
4db820271774eb2b1e5983449385a52e7469551c alice bob
diff --git a/tests/test-exttemplate.t b/tests/test-exttemplate.t
deleted file mode 100644
--- a/tests/test-exttemplate.t
+++ /dev/null
@@ -1,11 +0,0 @@
- $ . "$TESTDIR/lib.sh"
-
- $ cd source
- $ hg log --template '{node|short} {reviewers}\n'
- ff05b7beb451 alice
- eb8972173e17 alice
- 6b70f47fc5e7
-
- $ hg log --template '{node|short} {reviewers}\n' --rev 'byalice()'
- eb8972173e17 alice
- ff05b7beb451 alice
diff --git a/tests/test-land.t b/tests/test-land.t
--- a/tests/test-land.t
+++ b/tests/test-land.t
@@ -102,3 +102,4 @@ We expect to land 3::6.
|
o 0:1ea7 default
+ $ cat .hg/take.log
More information about the Mercurial-devel
mailing list