--- a/scripts/svn Wed Dec 18 09:20:53 2013 +0100
+++ b/scripts/svn Wed Dec 18 22:16:35 2013 +0100
@@ -8,7 +8,7 @@
if [ "$1" = "commit" -o "$1" = "ci" ]; then
shift # pop off $1 for diff
- TEMPLATE=`mktemp svn-ci.XXXXXXX`
+ TEMPLATE=`mktemp --tmpdir svn-ci.XXXXXXX`
$REALSVN diff "$@" > "$TEMPLATE"
$REALSVN $ARGS --editor-cmd="$HOME/bin/svn-diff-editor '$TEMPLATE'"
else
--- a/scripts/svn-diff-editor Wed Dec 18 09:20:53 2013 +0100
+++ b/scripts/svn-diff-editor Wed Dec 18 22:16:35 2013 +0100
@@ -1,6 +1,27 @@
#!/bin/sh
-echo >> "$2"
-cat "$1" >> "$2"
-rm "$1"
-$EDITOR "$2"
+case "${EDITOR}" in
+ "")
+ EDITOR="vi"
+ ;;
+ emacs)
+ EDITOR="$EDITOR -nw"
+ ;;
+ gvim|vim)
+ EDITOR="$EDITOR -f -o"
+ ;;
+esac
+
+SVNTMP="$1"
+cleanup_exit() {
+ rm -rf "$SVNTMP"
+}
+
+# Remove temporary files even if we get interrupted
+trap "cleanup_exit" 0 # normal exit
+trap "exit 255" HUP INT QUIT ABRT TERM
+
+#echo >> "$2"
+#cat "$1" >> "$2"
+#rm "$1"
+$EDITOR "$2" "$1"