This is the command svn2cl that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator
PROGRAM:
NAME
svn2cl - Create a ChangeLog from a subversion log.
SYNOPSIS
svn2cl [OPTION]... [PATH]...
DESCRIPTION
svn2cl generates a classic GNU-style ChangeLog from the log messages in a subversion
repository. It acts as a wrapper around the 'svn log' command, parsing the XML output
with an XSLT stylesheet. Alternatively it can generate HTML output intended for use with
the svn2html.css style sheet that comes with svn2cl.
In addition to its own options, it accepts and passes along most svn log options; see 'svn
help log' for a list of those and their documentation. If PATH is not given, svn2cl will
run svn log on the current directory, so it should do the right thing when run from the
top of a subversion checkout of the project.
--strip-prefix=NAME
Strip NAME from the first part of all file names (e.g. project/trunk). By defaults
the current path inside the repository is stripped.
--linelen=NUM
Wrap lines at NUM characters. By default, lines are wrapped at 75 characters.
This option is ignored when the --html option is specified.
--group-by-day
This option causes all commit messages to be grouped by day, as long as all the
changes are by the same author. By default each message is listed separately with
its own timestamp.
--separate-daylogs
Include a blank line between log entries when they are grouped by day. Only useful
with the --group-by-day option. This option is ignored when the --html option is
specified, edit svn2html.css to tune the layout.
-i, --include-rev
Include the subversion revision number in the ChangeLog. If the --html option is
specified this is implied, edit svn2html.css to turn it off.
-a, --include-actions
Add action labels [ADD], [DEL] and [CPY] tags to files to show the operation that
is performned on the files.
--break-before-msg[=NUM]
Add a line break (or multiple line breadks) between the paths and the log message.
If the --html option is specified this option is ignored, edit svn2html.css to set
spacing.
--reparagraph
Newlines inside paragraphs are ignored and paragraphs are re-wrapped. Paragraphs
are separated by empty lines.
--title=NAME
If outputting an HTML file the NAME is used as the title. This option is ignored
for normal text output.
--revision-link=NAME
This option is used to generate links from the revision numbers in the generated
HTML file. If NAME contains two hashes '##' that part will be replaced by the
revision number, otherwise the revision number will be appended to NAME. Only the
first occurrence of '##' will be replaced.
This option is ignored for normal text output.
--ticket-link=NAME
This option is used to generate links from references to tickets within the commit
message in the generated HTML file. Anything that looks like a ticket reference
(e.g. '#foo') will be replaced with a link to NAME with the ticket part ('foo' in
the example) appended.
This option is ignored for normal text output.
--ticket-prefix=NAME
This option is used for finding ticket markers in the commit message (when the
--ticket-link option is used). The default value is '#'.
This option is ignored for normal text output.
--ignore-message-starting=STRING
Any log messages that start with the specified STRING are ignored and will not show
up in the output. The STRING comparison is case sensitive.
-o, -f, --output=FILE, --file=FILE
Output ChangeLog to FILE instead of the default ChangeLog (or ChangeLog.html for
HTML output).
--stdout
Output ChangeLog to stdout instead of to a file.
--authors=FILE
The FILE is used to map author names as exported by svn to full names. See the
section on AUTHORS FILES below for more information.
Note that the --authors option can have poor performance in some cases.
--html Generate an HTML file containing a ChangeLog instead of the default text ChangeLog
file. This feature is still experimental. The svn2html.css file that is included
in the distribution can be used to format the HTML.
-h, --help
Show short summary of options.
-V, --version
Show version of program.
Optional PATH arguments and the following options are passed directly to the 'svn --xml
log' command: -r, --revision, --targets, --stop-on-copy, --username, --password,
--no-auth-cache, --non-interactive, --config-dir and --limit.
See 'svn help log' for more information on these options.
AUTHORS FILES
An authors file is basically an XML file that should look something like:
<?xml version="1.0" encoding="utf-8"?>
<authors>
<author uid="arthur">
Arthur de Jong <[email protected]>
</author>
</authors>
svn2cl searches for <author> tags with the specified uid attribute. The content from the
author tag is substituted for the author name.
The <author> tag may also contain XML child tags which can be useful for embedding HTML
into the result. For this to work namespace information should be included for HTML
output:
<?xml version="1.0" encoding="utf-8"?>
<authors xmlns:html="http://www.w3.org/1999/xhtml">
<author uid="arthur">
Arthur de Jong <<html:b>[email protected]</html:b>>
</author>
</authors>
The svn2cl distribution contains a sample authors.xml file.
As a bonus a plain text authors file that looks like the following is automatically
converted to the XML representation:
arthur:Arthur de Jong <[email protected]>
NOTES
Note that the default revison range for svn log is BASE:1. This means that svn2cl will
not always include the most recent revisons of the repository. Either run 'svn update'
before running svn2cl or pass '-r HEAD:1'.
EXAMPLES
Run svn log recursively on the current directory and generate a text ChangeLog file in the
current directory for the entire log history:
svn2cl
Output the changes from the last week, while including revision numbers in the ChangeLog:
svn2cl -i -r "HEAD:{`date -d '7 days ago' '+%F %T'`}"
(actually subversion will include the first revision before the specified period)
Generate an HTML changelog for svn://svn.example.com/project/trunk, removing
"project/trunk" from the file names in the changelog. Group all commits per day into one
ChangeLog entry and only include changes from 2005:
svn2cl --html --strip-prefix=project/trunk --group-by-day \
-r '{2006-01-01}:{2005-01-01}' \
svn://svn.example.com/project/trunk
Use svn2cl online using onworks.net services