Fix compiler warning due to missing function prototype.
[svn.git] / contrib / client-side / svn2cl / svn2cl.1
blobaed9c69718606d9ad85fde9c923f6df24a49e742
1 .\" Copyright (C) 2005, 2006, 2007, 2008 Arthur de Jong
2 .\"
3 .\" Redistribution and use in source and binary forms, with or without
4 .\" modification, are permitted provided that the following conditions
5 .\" are met:
6 .\" 1. Redistributions of source code must retain the above copyright
7 .\"    notice, this list of conditions and the following disclaimer.
8 .\" 2. Redistributions in binary form must reproduce the above copyright
9 .\"    notice, this list of conditions and the following disclaimer in
10 .\"    the documentation and/or other materials provided with the
11 .\"    distribution.
12 .\" 3. The name of the author may not be used to endorse or promote
13 .\"    products derived from this software without specific prior
14 .\"    written permission.
15 .\"
16 .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
17 .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18 .\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19 .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
20 .\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
22 .\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23 .\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
24 .\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
25 .\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
26 .\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 .TH "svn2cl" "1" "Apr 2008" "Version 0.10" "User Commands"
28 .nh
29 .SH "NAME"
30 svn2cl - Create a ChangeLog from a subversion log.
31 .SH "SYNOPSIS"
32 .B svn2cl
33 .RI [ OPTION ]...
34 .RI [ PATH ]...
36 .SH "DESCRIPTION"
37 \fBsvn2cl\fP generates a classic GNU-style ChangeLog from the log messages in a subversion repository.
38 It acts as a wrapper around the '\fBsvn log\fP' command, parsing the XML output with an XSLT stylesheet.
39 Alternatively it can generate HTML output intended for use with the \fBsvn2html.css\fP style sheet that comes with \fBsvn2cl\fP.
41 In addition to its own options, it accepts and passes along most svn log options; see '\fBsvn help log\fP' for a list of those and their documentation.
42 If PATH is not given, \fBsvn2cl\fP 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.
44 .TP
45 \fB\-\-strip\-prefix\fR=\fINAME\fR
46 Strip \fINAME\fR from the first part of all file names (e.g. project/trunk).
47 By defaults the current path inside the repository is stripped.
49 .TP
50 \fB\-\-linelen\fR=\fINUM\fR
51 Wrap lines at \fINUM\fR characters.
52 By default, lines are wrapped at 75 characters.
53 This option is ignored when the \-\-html option is specified.
55 .TP
56 \fB\-\-group\-by\-day\fR
57 This option causes all commit messages to be grouped by day, as long as all the changes are by the same author.
58 By default each message is listed separately with its own timestamp.
60 .TP
61 \fB\-\-separate\-daylogs\fR
62 Include a blank line between log entries when they are grouped by day.
63 Only useful with the \fB\-\-group\-by\-day\fR option.
64 This option is ignored when the \-\-html option is specified, edit \fBsvn2html.css\fP to tune the layout.
66 .TP
67 \fB\-i\fR, \fB\-\-include\-rev\fR
68 Include the subversion revision number in the ChangeLog.
69 If the \-\-html option is specified this is implied, edit \fBsvn2html.css\fP to turn it off.
71 .TP
72 \fB\-a\fR, \fB\-\-include\-actions\fR
73 Add action labels [ADD], [DEL] and [CPY] tags to files to show the operation
74 that is performned on the files.
76 .TP
77 \fB\-\-break\-before\-msg\fR[=\fINUM\fR]
78 Add a line break (or multiple line breadks) between the paths and the log message.
79 If the \-\-html option is specified this option is ignored, edit \fBsvn2html.css\fP to set spacing.
81 .TP
82 \fB\-\-reparagraph\fR
83 Newlines inside paragraphs are ignored and paragraphs are re-wrapped.
84 Paragraphs are separated by empty lines.
86 .TP
87 \fB\-\-title\fR=\fINAME\fR
88 If outputting an HTML file the \fINAME\fR is used as the title.
89 This option is ignored for normal text output.
91 .TP
92 \fB\-\-revision\-link\fR=\fINAME\fR
93 This option is used to generate links from the revision numbers in the generated HTML file.
94 If \fINAME\fR contains two hashes '\fB##\fP' that part will be replaced by the revision number, otherwise the revision number will be appended to \fINAME\fR.
95 Only the first occurrence of '\fB##\fP' will be replaced.
96 .br
97 This option is ignored for normal text output.
99 .TP
100 \fB\-\-ignore\-message\-starting\fR=\fISTRING\fR
101 Any log messages that start with the specified \fISTRING\fR are ignored and will not show up in the output.
102 The STRING comparison is case sensitive.
105 \fB\-o\fR, \fB\-f\fR, \fB\-\-output\fR=\fIFILE\fR, \fB\-\-file\fR=\fIFILE\fR
106 Output ChangeLog to \fIFILE\fR instead of the default \fBChangeLog\fP (or \fBChangeLog.html\fP for HTML output).
109 \fB\-\-stdout\fR
110 Output ChangeLog to stdout instead of to a file.
113 \fB\-\-authors\fR=\fIFILE\fR
114 The \fIFILE\fR is used to map author names as exported by svn to full names.
115 See the section on AUTHORS FILES below for more information.
117 Note that the \-\-authors option can have poor performance in some cases.
120 \fB\-\-html\fR
121 Generate an HTML file containing a ChangeLog instead of the default text ChangeLog file.
122 This feature is still experimental.
123 The \fBsvn2html.css\fP file that is included in the distribution can be used to format the HTML.
126 \fB\-h\fR, \fB\-\-help\fR
127 Show short summary of options.
130 \fB\-V\fR, \fB\-\-version\fR
131 Show version of program.
134 Optional PATH arguments and the following options are passed directly to the '\fBsvn \-\-xml log\fP' command:
135 \fB\-r\fR, \fB\-\-revision\fR, \fB\-\-targets\fR, \fB\-\-stop\-on\-copy\fR, \fB\-\-username\fR, \fB\-\-password\fR, \fB\-\-no\-auth\-cache\fR, \fB\-\-non\-interactive\fR, \fB\-\-config\-dir\fR and \fB\-\-limit\fR.
137 See '\fBsvn help log\fP' for more information on these options.
139 .SH "AUTHORS FILES"
141 An authors file is basically an XML file that should look something like:
142 .ft B
143     <?xml version="1.0" encoding="utf\-8"?>
144     <authors>
145       <author uid="arthur">
146         Arthur de Jong &lt;arthur@ch.tudelft.nl&gt;
147       </author>
148     </authors>
149 .ft R
151 svn2cl searches for <author> tags with the specified uid attribute.
152 The content from the author tag is substituted for the author name.
154 The <author> tag may also contain XML child tags which can be useful for embedding HTML into the result.
155 For this to work namespace information should be included for HTML output:
156 .ft B
157     <?xml version="1.0" encoding="utf\-8"?>
158     <authors xmlns:html="http://www.w3.org/1999/xhtml">
159       <author uid="arthur">
160         Arthur de Jong &lt;<html:b>arthur@ch.tudelft.nl</html:b>&gt;
161       </author>
162     </authors>
163 .ft R
165 The svn2cl distribution contains a sample authors.xml file.
167 As a bonus a plain text authors file that looks like the following is automatically converted to the XML representation:
168 .ft B
169     arthur:Arthur de Jong <arthur@ch.tudelft.nl>
170 .ft R
172 .SH "NOTES"
174 Note that the default revison range for \fBsvn log\fP is BASE:1.
175 This means that \fBsvn2cl\fP will not always include the most recent revisons
176 of the repository. Either run '\fBsvn update\fP' before running \fBsvn2cl\fP
177 or pass '\fB\-r HEAD:1\fP'.
179 .SH "EXAMPLES"
181 Run svn log recursively on the current directory and generate a text ChangeLog file in the current directory for the entire log history:
182 .ft B
183     svn2cl
184 .ft R
186 Output the changes from the last week, while including revision numbers in the ChangeLog:
187 .ft B
188     svn2cl \-i \-r "HEAD:{`date \-d '7 days ago' '+%F %T'`}"
189 .ft R
191 (actually subversion will include the first revision before the specified period)
193 Generate an HTML changelog for svn://svn.example.com/project/trunk, removing "project/trunk" from the file names in the changelog.
194 Group all commits per day into one ChangeLog entry and only include changes from 2005:
195 .ft B
196     svn2cl \-\-html \-\-strip\-prefix=project/trunk \-\-group\-by\-day \e
197            \-r '{2006\-01\-01}:{2005\-01\-01}' \e
198            svn://svn.example.com/project/trunk
199 .ft R
201 .SH "SEE ALSO"
202 .BR '\fBsvn\ help\ log\fP'
204 .SH "COPYRIGHT"
205 Copyright \(co 2005, 2006, 2007, 2008 Arthur de Jong <arthur@ch.tudelft.nl>.
207 This is free software; see the license for copying conditions.  There is NO
208 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.