forked from ports/contrib
svn2cl: Adopted. Downgrade to oficial release 0.9
This commit is contained in:
parent
a7b903dde4
commit
6026e491ec
@ -1,8 +1,12 @@
|
||||
drwxr-xr-x root/root usr/
|
||||
drwxr-xr-x root/root usr/bin/
|
||||
-rwxr-xr-x root/root usr/bin/svn2cl
|
||||
drwxr-xr-x root/root usr/man/
|
||||
drwxr-xr-x root/root usr/man/man1/
|
||||
-rw-r--r-- root/root usr/man/man1/svn2cl.1.gz
|
||||
drwxr-xr-x root/root usr/share/
|
||||
drwxr-xr-x root/root usr/share/xml/
|
||||
drwxr-xr-x root/root usr/share/xml/xsl/
|
||||
drwxr-xr-x root/root usr/share/xml/xsl/svn2cl/
|
||||
-rw-r--r-- root/root usr/share/xml/xsl/svn2cl/svn2cl.xsl
|
||||
drwxr-xr-x root/root usr/share/svn2cl/
|
||||
-rwxr-xr-x root/root usr/share/svn2cl/svn2cl.sh
|
||||
-rw-r--r-- root/root usr/share/svn2cl/svn2cl.xsl
|
||||
-rw-r--r-- root/root usr/share/svn2cl/svn2html.css
|
||||
-rw-r--r-- root/root usr/share/svn2cl/svn2html.xsl
|
||||
|
@ -1,2 +1,2 @@
|
||||
f0efe4860194c9d951f0a5d066864d7a svn2cl
|
||||
8e186c772deb97b216a241877505b9ea svn2cl.xsl
|
||||
c21d77d2cc45b9e0ee290c4604658e38 svn2cl
|
||||
0414dc0f18b424b03727dfad6fa9e63d svn2cl-0.9.tar.gz
|
||||
|
@ -1,16 +1,19 @@
|
||||
# Description: Script and XSL stylesheet to convert svn logs to ChangeLog.
|
||||
# URL: None
|
||||
# Maintainer: unmaintained
|
||||
# Packager: James Mills, prologic at shortcircuit dot net dot au
|
||||
#
|
||||
# Depends on: libxslt
|
||||
# URL: http://ch.tudelft.nl/~artur/svn2cl/
|
||||
# Maintainer: Jose V Beneyto, sepen at users dot sourceforge dot net
|
||||
# Packager: James Mills, prologic at shortcircuit dot net dot au
|
||||
# Depends on: subversion libxslt
|
||||
|
||||
name=svn2cl
|
||||
version=1.1
|
||||
version=0.9
|
||||
release=1
|
||||
source=(svn2cl.xsl svn2cl)
|
||||
source=(http://ch.tudelft.nl/~arthur/$name/$name-$version.tar.gz \
|
||||
$name)
|
||||
|
||||
build() {
|
||||
install -D -m644 -groot -oroot svn2cl.xsl $PKG/usr/share/xml/xsl/$name/svn2cl.xsl
|
||||
install -D -m755 -groot -oroot $name $PKG/usr/bin/$name
|
||||
install -d $PKG/usr/{bin,man/man1,share/$name}
|
||||
install -m 0644 $name-$version/$name.1 $PKG/usr/man/man1
|
||||
install -m 0644 $name-$version/*.{xsl,css} $PKG/usr/share/$name
|
||||
install -m 0755 $name-$version/$name.sh $PKG/usr/share/$name
|
||||
install -m 0755 $SRC/$name $PKG/usr/bin
|
||||
}
|
||||
|
39
svn2cl/svn2cl
Executable file → Normal file
39
svn2cl/svn2cl
Executable file → Normal file
@ -1,40 +1,5 @@
|
||||
#!/bin/sh
|
||||
# Usage: svn2cl [-s path]
|
||||
#
|
||||
# This script uses a XSL stylesheet to parse and convert
|
||||
# the output of a SubVersion log file (in XML) and
|
||||
# produce a nice GNU Style ChangeLog file.
|
||||
#
|
||||
# Author: James Mills (prologic@shortcircuit.net.au)
|
||||
# Version: 0.1.0 CopyRight 2005 (C) by James Mills
|
||||
# Version: 0.1.1 "Added -s option"
|
||||
|
||||
if [ ! -d .svn ]; then
|
||||
echo "ERROR: `pwd` is not a subversion directory!"
|
||||
exit 1
|
||||
fi
|
||||
/usr/share/svn2cl/svn2cl.sh $@
|
||||
|
||||
usage="Usage: `basename $0` [-s path]"
|
||||
|
||||
while getopts "s:h-" opt ; do
|
||||
case "$opt" in
|
||||
s) STRIP_PATH=$OPTARG;;
|
||||
h) echo $usage; exit 0;;
|
||||
-) break;;
|
||||
*) echo $usage 1>&2; exit 1;;
|
||||
esac
|
||||
done
|
||||
|
||||
shift $(($OPTIND - 1))
|
||||
|
||||
XSL=/usr/share/xml/xsl/svn2cl/svn2cl.xsl
|
||||
TMPFILE=`mktemp /tmp/svn-log.XXXXXXXXXX` || exit 1
|
||||
|
||||
svn log --xml --verbose . > $TMPFILE
|
||||
if [[ "$STRIP_PATH" = "" ]]; then
|
||||
xsltproc $XSL $TMPFILE > ChangeLog
|
||||
else
|
||||
xsltproc --stringparam strip-prefix "$STRIP_PATH" $XSL $TMPFILE > ChangeLog
|
||||
fi
|
||||
|
||||
rm $TMPFILE
|
||||
# End of file
|
||||
|
@ -1,215 +0,0 @@
|
||||
<?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…
x
Reference in New Issue
Block a user