diff options
author | Jannis Pohlmann <jannis@xfce.org> | 2007-02-12 22:18:26 +0000 |
---|---|---|
committer | Jannis Pohlmann <jannis@xfce.org> | 2007-02-12 22:18:26 +0000 |
commit | 388a7f477399513d10577022c9067835f95571cc (patch) | |
tree | 11ce79b3ec72163a533d6f375ac4b50d365d08a4 | |
parent | 0524f9cad910bb67d76832043c0aa34eaa8ef161 (diff) | |
download | xfce4-dev-tools-388a7f477399513d10577022c9067835f95571cc.tar.gz |
* scripts/Makefile.am, scripts/xdt-commit: Add script for
generating commit messages from ChangeLogs on the fly.
(Old svn revision: 24965)
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | scripts/Makefile.am | 3 | ||||
-rwxr-xr-x | scripts/xdt-commit | 93 |
3 files changed, 100 insertions, 1 deletions
@@ -1,3 +1,8 @@ +2007-02-12 Jannis Pohlmann <jannis@xfce.org> + + * scripts/Makefile.am, scripts/xdt-commit: Add script for + generating commit messages from ChangeLogs on the fly. + 2007-01-20 Benedikt Meurer <benny@xfce.org> * configure.in.in: Post-release version bump. diff --git a/scripts/Makefile.am b/scripts/Makefile.am index 41b8478..73c436f 100644 --- a/scripts/Makefile.am +++ b/scripts/Makefile.am @@ -7,7 +7,8 @@ # bin_SCRIPTS = \ - xdt-autogen + xdt-autogen \ + xdt-commit xdt-autogen: Makefile $(srcdir)/xdt-autogen.in rm -f xdt-autogen xdt-autogen.gen diff --git a/scripts/xdt-commit b/scripts/xdt-commit new file mode 100755 index 0000000..664b6b2 --- /dev/null +++ b/scripts/xdt-commit @@ -0,0 +1,93 @@ +#!/bin/sh +# +# $Id$ +# +# Copyright (c) 2007 +# The Xfce development team. All rights reserved. +# +# Written for Xfce by Jannis Pohlmann <jannis@xfce.org>. +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the Free +# Software Foundation; either version 2 of the License, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +# more details. +# +# You should have received a copy of the GNU General Public License along with +# this program; if not, write to the Free Software Foundation, Inc., 59 Temple +# Place, Suite 330, Boston, MA 02111-1307 USA +# +# xdt-commit - Part of the Xfce developer tools. +# + + +## +## Check if SVN is installed +## +if ! svn --version &> /dev/null; then + echo "Subversion needs to be installed." + exit 1 +fi + + +## +## Check if we are in a versioned directory +## +if ! svn info &> /dev/null; then + echo "Current working directory is not versioned." + exit 1 +fi + + +## +## Files to be committed +## +FILES="$*" + + +## +## Detect all ChangeLog's inside this directory by scanning it +## recursively +## +CHANGELOGS=$(find . -type f -iname ChangeLog) + + +## +## Append parsed diff output of each ChangeLog to the commit message +## +for CHANGELOG in $CHANGELOGS; do + # Make sure the file exists + if [ -f "$CHANGELOG" ]; then + # Determine SVN status + STATUS=$(svn status ${CHANGELOG}) + STATUS=${STATUS:0:1} + + # Check if file is versioned + if [ "$STATUS" != "?" ]; then + # Parse output + MSG=$(svn diff ${CHANGELOG} | grep -P '^\+\t' | sed 's/^+//') + + # Append to commit message (and insert newline between ChangeLogs) + if [ -z "$COMMIT_MSG" ]; then + COMMIT_MSG="$MSG" + else + COMMIT_MSG=$(echo "$COMMIT_MSG" $'\n' "$MSG") + fi + fi + fi +done + + +## +## Commit changes. If the commit message generate from the ChangeLog +## files is empty, ask the user to enter a commit message himself +## +if [ -n "$COMMIT_MSG" ]; then + svn commit $FILES -m "$COMMIT_MSG" +else + svn commit $FILES +fi |