summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/scripts/svn2cl.sh')
-rw-r--r--src/core/scripts/svn2cl.sh130
1 files changed, 130 insertions, 0 deletions
diff --git a/src/core/scripts/svn2cl.sh b/src/core/scripts/svn2cl.sh
new file mode 100644
index 0000000..bf89bb0
--- /dev/null
+++ b/src/core/scripts/svn2cl.sh
@@ -0,0 +1,130 @@
+#!/bin/sh
+
+# svn2cl.sh - front end shell script for svn2cl.xsl, calls xsltproc
+# with the correct parameters
+#
+# Copyright (C) 2005 Arthur de Jong.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in
+# the documentation and/or other materials provided with the
+# distribution.
+# 3. The name of the author may not be used to endorse or promote
+# products derived from this software without specific prior
+# written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
+# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+# exit on any failures
+set -e
+
+# svn2cl version
+VERSION="0.3"
+
+# set default parameters
+STRIPPREFIX=`basename $(pwd)`
+LINELEN=75
+GROUPBYDAY="no"
+INCLUDEREV="no"
+CHANGELOG="ChangeLog"
+
+# do command line checking
+prog=`basename $0`
+while [ -n "$1" ]
+do
+ case "$1" in
+ --strip-prefix)
+ STRIPPREFIX="$2"
+ shift 2
+ ;;
+ --linelen)
+ LINELEN="$2";
+ shift 2
+ ;;
+ --group-by-day)
+ GROUPBYDAY="yes";
+ shift
+ ;;
+ -r|--include-rev)
+ INCLUDEREV="yes";
+ shift
+ ;;
+ -o|--output)
+ CHANGELOG="$2"
+ shift 2
+ ;;
+ --stdout)
+ CHANGELOG="-"
+ shift
+ ;;
+ -V|--version)
+ echo "$prog $VERSION";
+ echo "Written by Arthur de Jong."
+ echo ""
+ echo "Copyright (C) 2005 Arthur de Jong."
+ echo "This is free software; see the source for copying conditions. There is NO"
+ echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+ exit 0
+ ;;
+ -h|--help)
+ echo "Usage: $prog [OPTION]..."
+ echo "Generate a ChangeLog from a checked out subversion repository."
+ echo ""
+ echo " --strip-prefix NAME prefix to strip from all entries, defaults"
+ echo " to the name of the current directory"
+ echo " --linelen NUM maximum length of an output line"
+ echo " --group-by-day group changelog entries by day"
+ echo " -r, --include-rev include revision numbers"
+ echo " -o, --output FILE output to FILE instead of ChangeLog"
+ echo " -f, --file FILE alias for -o, --output"
+ echo " --stdout output to stdout instead of ChangeLog"
+ echo " -h, --help display this help and exit"
+ echo " -V, --version output version information and exit"
+ exit 0
+ ;;
+ *)
+ echo "$prog: invalid option -- $1"
+ echo "Try \`$prog --help' for more information."
+ exit 1
+ ;;
+ esac
+done
+
+# find the directory that this script resides in
+prog="$0"
+while [ -h "$prog" ]
+do
+ prog=`ls -ld "$prog" | sed "s/^.*-> \(.*\)/\1/;/^[^/]/s,^,$(dirname "$prog")/,"`
+done
+dir=`dirname $prog`
+dir=`cd $dir && pwd`
+XSL="$dir/svn2cl.xsl"
+
+# redirect stdout to the changelog file if needed
+if [ "x$CHANGELOG" != "x-" ]
+then
+ exec > "$CHANGELOG"
+fi
+
+# actually run the command we need
+svn --verbose --xml log | \
+ xsltproc --stringparam strip-prefix "$STRIPPREFIX" \
+ --stringparam linelen $LINELEN \
+ --stringparam groupbyday $GROUPBYDAY \
+ --stringparam include-rev $INCLUDEREV \
+ "$XSL" -