Generate a message template when omitting the commit message (includes
the same subject line that is used if a commit message is specified).

Also, use two newlines to separate the subject line from the message
body as it looks much clearer that way.

Signed-off-by: Lukas Fleischer <[email protected]>
---
I fully agree that this is a bit hacky. I really dislike the current
behaviour of adding a header if a message is specified on the command
line and not adding anything if you use an editor.

If anyone can come up with a better idea - suggestions welcome!

 commitpkg |   21 ++++++++++++++++++---
 1 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/commitpkg b/commitpkg
index 07b0994..be40344 100755
--- a/commitpkg
+++ b/commitpkg
@@ -109,11 +109,26 @@ if [ "$1" = "-a" ]; then
 fi
 
 echo -n 'committing changes to trunk...'
+msgtemplate="upgpkg: $pkgbase $(get_full_version ${epoch:-0} $pkgver $pkgrel)
+
+"
 if [ -n "$1" ]; then
-       svn commit -q -m "upgpkg: $pkgbase $(get_full_version ${epoch:-0} 
$pkgver $pkgrel)
-$1" || abort
+       svn commit -q -m "${msgtemplate}${1}" || abort
 else
-       svn commit -q || abort
+       msgfile="$(mktemp)"
+       echo "$msgtemplate" > "$msgfile"
+       if [ -n "$SVN_EDITOR" ]; then
+               $SVN_EDITOR "$msgfile"
+       elif [ -n "$VISUAL" ]; then
+               $VISUAL "$msgfile"
+       elif [ -n "$EDITOR" ]; then
+               $EDITOR "$msgfile"
+       else
+               vi "$msgfile"
+       fi
+       [ -s "$msgfile" ] || abort
+       svn commit -q -F "$msgfile" || abort
+       unlink "$msgfile"
 fi
 echo 'done'
 
-- 
1.7.6

Reply via email to