Mercurial > hg-stable
changeset 186:9a2075c0b9b8
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-----
author | mpm@selenic.com |
---|---|
date | Sat, 28 May 2005 13:31:49 -0800 |
parents | db3aa85b9379 |
children | aa9a0d50e612 |
files | hgeditor mercurial/hg.py |
diffstat | 2 files changed, 23 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- /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):