- Add support for automatic ChangeLog creation with svn2cl
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@171 3ecf2c5c-341e-0410-92b4-d18e462d057c
This commit is contained in:
parent
d41e5ff4b8
commit
9f0ed52cbf
83
ChangeLog
83
ChangeLog
|
@ -1,37 +1,50 @@
|
|||
2006-01-13 gettextize <bug-gnu-gettext@gnu.org>
|
||||
2006-01-13 16:00 tchernobog
|
||||
|
||||
* m4/codeset.m4: New file, from gettext-0.14.5.
|
||||
* m4/gettext.m4: New file, from gettext-0.14.5.
|
||||
* m4/glibc2.m4: New file, from gettext-0.14.5.
|
||||
* m4/glibc21.m4: New file, from gettext-0.14.5.
|
||||
* m4/iconv.m4: New file, from gettext-0.14.5.
|
||||
* m4/intdiv0.m4: New file, from gettext-0.14.5.
|
||||
* m4/intmax.m4: New file, from gettext-0.14.5.
|
||||
* m4/inttypes.m4: New file, from gettext-0.14.5.
|
||||
* m4/inttypes_h.m4: New file, from gettext-0.14.5.
|
||||
* m4/inttypes-pri.m4: New file, from gettext-0.14.5.
|
||||
* m4/isc-posix.m4: New file, from gettext-0.14.5.
|
||||
* m4/lcmessage.m4: New file, from gettext-0.14.5.
|
||||
* m4/lib-ld.m4: New file, from gettext-0.14.5.
|
||||
* m4/lib-link.m4: New file, from gettext-0.14.5.
|
||||
* m4/lib-prefix.m4: New file, from gettext-0.14.5.
|
||||
* m4/longdouble.m4: New file, from gettext-0.14.5.
|
||||
* m4/longlong.m4: New file, from gettext-0.14.5.
|
||||
* m4/nls.m4: New file, from gettext-0.14.5.
|
||||
* m4/po.m4: New file, from gettext-0.14.5.
|
||||
* m4/printf-posix.m4: New file, from gettext-0.14.5.
|
||||
* m4/progtest.m4: New file, from gettext-0.14.5.
|
||||
* m4/signed.m4: New file, from gettext-0.14.5.
|
||||
* m4/size_max.m4: New file, from gettext-0.14.5.
|
||||
* m4/stdint_h.m4: New file, from gettext-0.14.5.
|
||||
* m4/uintmax_t.m4: New file, from gettext-0.14.5.
|
||||
* m4/ulonglong.m4: New file, from gettext-0.14.5.
|
||||
* m4/wchar_t.m4: New file, from gettext-0.14.5.
|
||||
* m4/wint_t.m4: New file, from gettext-0.14.5.
|
||||
* m4/xsize.m4: New file, from gettext-0.14.5.
|
||||
* m4/Makefile.am (EXTRA_DIST): New variable.
|
||||
* Makefile.am (EXTRA_DIST): Add config/config.rpath, config/mkinstalldirs.
|
||||
* configure.ac (AC_CONFIG_FILES): Add po/Makefile.in.
|
||||
* trunk/autogen.sh, trunk/configure.ac: - Add macro for autopoint
|
||||
|
||||
2006-01-13 15:52 tchernobog
|
||||
|
||||
* trunk/ChangeLog, trunk/Makefile.am, trunk/autogen.sh,
|
||||
trunk/configure.ac, trunk/doc/Makefile.am, trunk/doc/sgpem2.texi,
|
||||
trunk/doc/sgpem2dman.texi, trunk/doc/sgpem2uman.texi,
|
||||
trunk/gettext.h, trunk/m4/Makefile.am, trunk/m4/ac_pkg_swig.m4,
|
||||
trunk/m4/ac_python_devel.m4, trunk/m4/ac_python_module.m4,
|
||||
trunk/po/ChangeLog, trunk/po/Makevars, trunk/po/POTFILES.in: -
|
||||
Added libtool, gettext support - Added needed m4 macros - fixed
|
||||
autogen.sh to be made executable - fix directory categories with
|
||||
info manuals
|
||||
|
||||
2005-12-30 20:09 tchernobog
|
||||
|
||||
* trunk/autogen.sh, trunk/configure.ac: - Fix autoreconf parameters
|
||||
in autogen.sh - Change obsolete macros in configure.ac
|
||||
|
||||
2005-12-30 19:40 tchernobog
|
||||
|
||||
* trunk/AUTHORS, trunk/COPYING, trunk/ChangeLog, trunk/Makefile.am,
|
||||
trunk/NEWS, trunk/README, trunk/autogen.sh, trunk/configure.ac,
|
||||
trunk/doc/Makefile.am, trunk/doc/sgpem2.texi,
|
||||
trunk/doc/sgpem2dman.texi, trunk/doc/sgpem2uman.texi,
|
||||
trunk/m4/Makefile.am, trunk/m4/compilerflags.m4: - Lay out
|
||||
autotools foundations
|
||||
|
||||
2005-12-26 23:21 tchernobog
|
||||
|
||||
* trunk/doc/gpl.texi, trunk/doc/sgpem2dman.texi: - Changed dir
|
||||
layout to reflect current repository setup - Added how to insert
|
||||
license info in the source files
|
||||
|
||||
2005-12-21 12:22 johnny
|
||||
|
||||
* trunk/data, trunk/desktop, trunk/distro, trunk/m4, trunk/po: -
|
||||
Added directories as defined in developers' manual.
|
||||
|
||||
2005-12-21 12:09 johnny
|
||||
|
||||
* docs/manuals, src, trunk/doc, trunk/src: - Moved src in trunk/src
|
||||
- Moved docs/manuals in trunk/doc
|
||||
|
||||
2005-12-21 12:06 johnny
|
||||
|
||||
* branches, tags, trunk: - Added directories tags, trunk, branches.
|
||||
|
||||
2005, December 30th Matteo Settenvini <matteo@member.fsf.org>
|
||||
* Lay out autotools foundations
|
||||
|
|
11
autogen.sh
11
autogen.sh
|
@ -1,7 +1,14 @@
|
|||
#!/bin/sh
|
||||
|
||||
if [ ! -d config ]; then
|
||||
mkdir config
|
||||
# Changelog from SVN (svn2cl)
|
||||
if [ -d .svn ]; then
|
||||
if [ "x$no_log" != "x1" ]; then
|
||||
# only recreate if we in svn repository
|
||||
echo "*info* creating ChangeLog from SVN history"
|
||||
sh ./config/svn2cl.sh
|
||||
fi
|
||||
fi
|
||||
touch ChangeLog
|
||||
|
||||
# run autoreconf
|
||||
autoreconf -i --warnings=all -B m4 -v
|
||||
|
|
|
@ -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" -
|
|
@ -0,0 +1,215 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!--
|
||||
|
||||
svn2cl.xsl - xslt stylesheet for converting svn log to a normal
|
||||
changelog
|
||||
|
||||
This file is based on several implementations of this conversion
|
||||
that I was not completely happy with and some other common
|
||||
xslt constructs found on the web.
|
||||
|
||||
Copyright (C) 2004 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.
|
||||
|
||||
-->
|
||||
|
||||
<!--
|
||||
TODO
|
||||
- make external lookups of author names possible
|
||||
- find a place for revision numbers
|
||||
- mark deleted files as such
|
||||
- combine paths
|
||||
- make stripping of characters nicer
|
||||
-->
|
||||
|
||||
<xsl:stylesheet
|
||||
version="1.0"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns="http://www.w3.org/1999/xhtml">
|
||||
|
||||
<xsl:output
|
||||
method="text"
|
||||
encoding="iso-8859-15"
|
||||
media-type="text/plain"
|
||||
omit-xml-declaration="yes"
|
||||
standalone="yes"
|
||||
indent="no" />
|
||||
|
||||
<xsl:strip-space elements="*" />
|
||||
|
||||
<!-- the prefix of pathnames to strip -->
|
||||
<xsl:param name="strip-prefix" select="'/'" />
|
||||
|
||||
<!-- format one entry from the log -->
|
||||
<xsl:template match="logentry">
|
||||
<!-- date -->
|
||||
<xsl:apply-templates select="date" />
|
||||
<!-- two spaces -->
|
||||
<xsl:text> </xsl:text>
|
||||
<!-- author's name -->
|
||||
<xsl:apply-templates select="author" />
|
||||
<!-- two newlines -->
|
||||
<xsl:text>
|
||||
|
||||
</xsl:text>
|
||||
<!-- the log message -->
|
||||
<xsl:apply-templates select="msg" />
|
||||
<!-- another two newlines -->
|
||||
<xsl:text>
|
||||
|
||||
</xsl:text>
|
||||
</xsl:template>
|
||||
|
||||
<!-- format date -->
|
||||
<xsl:template match="date">
|
||||
<xsl:variable name="date" select="normalize-space(.)" />
|
||||
<xsl:value-of select="substring($date,1,10)" />
|
||||
<xsl:text> </xsl:text>
|
||||
<xsl:value-of select="substring($date,12,5)" />
|
||||
</xsl:template>
|
||||
|
||||
<!-- format author -->
|
||||
<xsl:template match="author">
|
||||
<xsl:value-of select="normalize-space(.)" />
|
||||
</xsl:template>
|
||||
|
||||
<!-- format log message -->
|
||||
<xsl:template match="msg">
|
||||
<!-- first line is indented (other indents are done in wrap template) -->
|
||||
<xsl:text> * </xsl:text>
|
||||
<!-- get paths string -->
|
||||
<xsl:variable name="paths">
|
||||
<xsl:apply-templates select="../paths" />
|
||||
</xsl:variable>
|
||||
<!-- print the paths and message nicely wrapped -->
|
||||
<xsl:call-template name="wrap">
|
||||
<xsl:with-param name="txt" select="concat($paths,': ',normalize-space(.))" />
|
||||
</xsl:call-template>
|
||||
</xsl:template>
|
||||
|
||||
<!-- present paths nice -->
|
||||
<xsl:template match="paths">
|
||||
<xsl:for-each select="path">
|
||||
<xsl:sort select="normalize-space(.)" data-type="text" />
|
||||
<xsl:if test="not(position()=1)">
|
||||
<xsl:text>, </xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:variable name="p1" select="normalize-space(.)" />
|
||||
<xsl:variable name="p2">
|
||||
<xsl:choose>
|
||||
<xsl:when test="starts-with($p1,'/')">
|
||||
<xsl:value-of select="substring($p1,2)" />
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="$p1" />
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
<xsl:variable name="p3">
|
||||
<xsl:choose>
|
||||
<xsl:when test="starts-with($p2,$strip-prefix)">
|
||||
<xsl:value-of select="substring($p2,1+string-length($strip-prefix))" />
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="$p2" />
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
<xsl:variable name="p4">
|
||||
<xsl:choose>
|
||||
<xsl:when test="starts-with($p3,'/')">
|
||||
<xsl:value-of select="substring($p3,2)" />
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="$p3" />
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
<xsl:choose>
|
||||
<xsl:when test="$p4 = ''">
|
||||
<xsl:value-of select="'.'" />
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="$p4" />
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:for-each>
|
||||
</xsl:template>
|
||||
|
||||
<!-- string-wrapping template -->
|
||||
<xsl:template name="wrap">
|
||||
<xsl:param name="txt" />
|
||||
<xsl:variable name="linelen" select="67" />
|
||||
<xsl:choose>
|
||||
<xsl:when test="(string-length($txt) < $linelen) or not(contains($txt,' '))">
|
||||
<!-- this is easy, nothing to do -->
|
||||
<xsl:value-of select="$txt" />
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<!-- find the first line -->
|
||||
<xsl:variable name="tmp" select="substring($txt,1,$linelen)" />
|
||||
<xsl:variable name="line">
|
||||
<xsl:choose>
|
||||
<xsl:when test="contains($tmp,' ')">
|
||||
<xsl:call-template name="find-line">
|
||||
<xsl:with-param name="txt" select="$tmp" />
|
||||
</xsl:call-template>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="substring-before($txt,' ')" />
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
<!-- print line and newline -->
|
||||
<xsl:value-of select="$line" />
|
||||
<xsl:text>
|
||||
</xsl:text>
|
||||
<!-- wrap the rest of the text -->
|
||||
<xsl:call-template name="wrap">
|
||||
<xsl:with-param name="txt" select="normalize-space(substring($txt,string-length($line)+1))" />
|
||||
</xsl:call-template>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
<!-- template to trim line to contain space as last char -->
|
||||
<xsl:template name="find-line">
|
||||
<xsl:param name="txt" />
|
||||
<xsl:choose>
|
||||
<xsl:when test="substring($txt,string-length($txt),1) = ' '">
|
||||
<xsl:value-of select="normalize-space($txt)" />
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:call-template name="find-line">
|
||||
<xsl:with-param name="txt" select="substring($txt,1,string-length($txt)-1)" />
|
||||
</xsl:call-template>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
Loading…
Reference in New Issue