diff --git a/hgeditor b/hgeditor new file mode 100644 index 0000000000000000000000000000000000000000..9a2075c0b9b8b50784f9313027654fdfe0c2b442_aGdlZGl0b3I= --- /dev/null +++ b/hgeditor @@ -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 diff --git a/mercurial/hg.py b/mercurial/hg.py index db3aa85b937971a17f2479c28e54b7da7d2cd72a_bWVyY3VyaWFsL2hnLnB5..9a2075c0b9b8b50784f9313027654fdfe0c2b442_bWVyY3VyaWFsL2hnLnB5 100644 --- a/mercurial/hg.py +++ b/mercurial/hg.py @@ -893,5 +893,5 @@ 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)) @@ -897,4 +897,5 @@ 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):