svn: open diff in second buffer
authorTomas Zeman <tzeman@volny.cz>
Wed, 18 Dec 2013 22:16:35 +0100
changeset 40 7b691c3bba6c
parent 39 1fc1aab8014b
child 41 febb97e04430
svn: open diff in second buffer
scripts/svn
scripts/svn-diff-editor
--- 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"