diff -r 8760d0c83b9b -r 3e73bf876f17 hgeditor --- a/hgeditor Thu Jul 21 18:20:13 2005 -0500 +++ b/hgeditor Fri Jul 22 07:30:52 2005 +0100 @@ -23,37 +23,35 @@ ;; esac -if grep -q "^HG: merge resolve" "$1" ; then - # we don't sign merges - exec $EDITOR "$1" -else - # Remove temporary files even if we get interrupted - trap "cleanup_exit 255" TERM KILL INT QUIT ABRT - T1=`mktemp`; T2=`mktemp` - MANIFEST=`grep '^HG: manifest hash' "$1" | cut -b 19-` +# Remove temporary files even if we get interrupted +trap "cleanup_exit 255" TERM KILL INT QUIT ABRT +T1=`mktemp`; T2=`mktemp` +( + cd "`hg root`" + grep '^HG: changed' "$1" | cut -b 13- | while read changed; do + hg diff "$changed" >> "$T2" + done +) - echo -e "\n\nmanifest hash: $MANIFEST" >> "$T1" - grep -vE '^(HG: manifest hash .*)?$' "$1" >> "$T1" - ( - cd "`hg root`" - grep '^HG: changed' "$1" | cut -b 13- | while read changed; do - hg diff "$changed" >> "$T2" - done - ) - - CHECKSUM=`md5sum "$T1"` - $EDITOR "$T1" "$T2" || cleanup_exit $? +echo > "$T1" +if [ "$SIGN" == "1" ]; then + MANIFEST=`grep '^HG: manifest hash' "$1" | cut -b 19-` + echo -e "\nmanifest hash: $MANIFEST" >> "$T1" +fi +grep -vE '^(HG: manifest hash .*)?$' "$1" >> "$T1" - if [ "$SIGN" == "1" ] ; then - echo "$CHECKSUM" | md5sum -c 2>/dev/null && cleanup_exit 13 - { - head -n 1 "$T1" - echo - grep -v "^HG:" "$T1" | gpg -t -a -u "${HGUSER}" --clearsign - } > "$T2" && mv "$T2" "$1" - else - mv "$T1" "$1" - fi - cleanup_exit $? +CHECKSUM=`md5sum "$T1"` +$EDITOR "$T1" "$T2" || cleanup_exit $? +echo "$CHECKSUM" | md5sum -c 2>/dev/null && cleanup_exit 13 + +if [ "$SIGN" == "1" ]; then + { + head -n 1 "$T1" + echo + grep -v "^HG:" "$T1" | gpg -t -a -u "${HGUSER}" --clearsign + } > "$T2" && mv "$T2" "$1" +else + mv "$T1" "$1" fi +cleanup_exit $?