##// END OF EJS Templates
Don't show the diff in hgeditor if there are no changes in file contents.
Don't show the diff in hgeditor if there are no changes in file contents.

File last commit:

r1009:1bc619b1 default
r1009:1bc619b1 default
Show More
hgeditor
71 lines | 1.6 KiB | text/plain | TextLexer
Thomas Arendsen Hein
Remove bashisms and use /bin/sh instead of /bin/bash....
r544 #!/bin/sh
mpm@selenic.com
Add $HGEDITOR hook and example script...
r186 #
# This is an example of using HGEDITOR to automate the signing of
# commits and so on.
Matt Mackall
Turn off signing with hgeditor by default...
r684 # change this to one to turn on GPG support
SIGN=0
Radoslaw "AstralStorm" Szkodzinski
hgeditor: Remove EMAIL default for HGUSER, comment editor selection ...
r666 # If you want to pass your favourite editor some other parameters
# only for Mercurial, modify this:
Thomas Arendsen Hein
Replaced mktemp and usage of ${par:=word}.
r796 case "${EDITOR}" in
"")
EDITOR="vi"
;;
Thomas Arendsen Hein
Improved hgeditor:...
r348 emacs)
EDITOR="$EDITOR -nw"
;;
gvim|vim)
EDITOR="$EDITOR -f -o"
;;
esac
Thomas Arendsen Hein
Replaced mktemp and usage of ${par:=word}.
r796
HGTMP=""
cleanup_exit() {
rm -rf "$HGTMP"
}
Thomas Arendsen Hein
Fixes and cleanups to hgeditor:...
r754 # Remove temporary files even if we get interrupted
Thomas Arendsen Hein
Cleaned up trap handling:...
r831 trap "cleanup_exit" 0 # normal exit
trap "exit 255" 1 2 3 6 15 # HUP INT QUIT ABRT TERM
Thomas Arendsen Hein
Replaced mktemp and usage of ${par:=word}.
r796
HGTMP="${TMPDIR-/tmp}/hgeditor.$RANDOM.$RANDOM.$RANDOM.$$"
(umask 077 && mkdir "$HGTMP") || {
echo "Could not create temporary directory! Exiting." 1>&2
exit 1
}
Thomas Arendsen Hein
Fixes and cleanups to hgeditor:...
r754 (
cd "`hg root`"
grep '^HG: changed' "$1" | cut -b 13- | while read changed; do
Thomas Arendsen Hein
Replaced mktemp and usage of ${par:=word}.
r796 hg diff "$changed" >> "$HGTMP/diff"
Thomas Arendsen Hein
Fixes and cleanups to hgeditor:...
r754 done
)
Thomas Arendsen Hein
Improved hgeditor:...
r348
Thomas Arendsen Hein
Replaced mktemp and usage of ${par:=word}.
r796 echo > "$HGTMP/msg"
Thomas Arendsen Hein
Fixes and cleanups to hgeditor:...
r754 if [ "$SIGN" == "1" ]; then
MANIFEST=`grep '^HG: manifest hash' "$1" | cut -b 19-`
Thomas Arendsen Hein
Replaced mktemp and usage of ${par:=word}.
r796 echo -e "\nmanifest hash: $MANIFEST" >> "$HGTMP/msg"
Thomas Arendsen Hein
Fixes and cleanups to hgeditor:...
r754 fi
Thomas Arendsen Hein
Replaced mktemp and usage of ${par:=word}.
r796 grep -vE '^(HG: manifest hash .*)?$' "$1" >> "$HGTMP/msg"
Matt Mackall
Turn off signing with hgeditor by default...
r684
Thomas Arendsen Hein
Replaced mktemp and usage of ${par:=word}.
r796 CHECKSUM=`md5sum "$HGTMP/msg"`
Thomas Arendsen Hein
Don't show the diff in hgeditor if there are no changes in file contents.
r1009 if [ -s "$HGTMP/diff" ]; then
$EDITOR "$HGTMP/msg" "$HGTMP/diff" || exit $?
else
$EDITOR "$HGTMP/msg" || exit $?
fi
Thomas Arendsen Hein
Cleaned up trap handling:...
r831 echo "$CHECKSUM" | md5sum -c >/dev/null 2>&1 && exit 13
Thomas Arendsen Hein
Fixes and cleanups to hgeditor:...
r754
if [ "$SIGN" == "1" ]; then
{
Thomas Arendsen Hein
Replaced mktemp and usage of ${par:=word}.
r796 head -n 1 "$HGTMP/msg"
Thomas Arendsen Hein
Fixes and cleanups to hgeditor:...
r754 echo
Thomas Arendsen Hein
Replaced mktemp and usage of ${par:=word}.
r796 grep -v "^HG:" "$HGTMP/msg" | gpg -t -a -u "${HGUSER}" --clearsign
} > "$HGTMP/msg.gpg" && mv "$HGTMP/msg.gpg" "$1"
Thomas Arendsen Hein
Fixes and cleanups to hgeditor:...
r754 else
Thomas Arendsen Hein
Replaced mktemp and usage of ${par:=word}.
r796 mv "$HGTMP/msg" "$1"
mpm@selenic.com
Add $HGEDITOR hook and example script...
r186 fi
Thomas Arendsen Hein
Improved hgeditor:...
r348
Thomas Arendsen Hein
Cleaned up trap handling:...
r831 exit $?