Add $HGEDITOR hook and example script
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Add $HGEDITOR hook and example script
This hook makes signing commits easier.
manifest hash:
ba8723e4b52323528dfa681a58658a5b4b2c02e4
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCmONFywK+sNU5EO8RAj87AKCEa5r9EepdYPiYRGo/jAjjwCIcVACfeBPe
QDInXr7karo6/P8d2bM/tVU=
=rxIQ
-----END PGP SIGNATURE-----
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/hgeditor Sat May 28 13:31:49 2005 -0800
@@ -0,0 +1,21 @@
+#!/bin/bash
+#
+# This is an example of using HGEDITOR to automate the signing of
+# commits and so on.
+
+MANIFEST=`grep '^HG: manifest hash' $1 | cut -b 19-`
+if grep -q "^HG: merge resolve" $1 ; then
+ # we don't sign merges
+ $EDITOR $1
+else
+ T=`mktemp`
+ CHANGED=`grep '^HG: changed' $1 | cut -b 13-`
+ # show a diff so writing commit comments is easier
+ hg diff $CHANGED >> $T
+ echo -e "\n\nmanifest hash: $MANIFEST" > $1
+ emacs -nw $T $1
+ head -1 $1 > $T
+ echo >> $T
+ gpg -a -u $HGUSER -o - --clearsign $1 >> $T
+ mv $T $1
+fi
--- a/mercurial/hg.py Sat May 28 11:48:00 2005 -0800
+++ b/mercurial/hg.py Sat May 28 13:31:49 2005 -0800
@@ -893,8 +893,9 @@
f.write(text)
f.close()
- editor = os.environ.get("EDITOR", "vi")
+ editor = os.environ.get("HGEDITOR") or os.environ.get("EDITOR", "vi")
r = os.system("%s %s" % (editor, name))
+
if r:
raise "Edit failed!"
@@ -902,7 +903,6 @@
t = re.sub("(?m)^HG:.*\n", "", t)
return t
-
class httprangereader:
def __init__(self, url):