1svn2cl(1) User Commands svn2cl(1)
2
3
4
6 svn2cl - Create a ChangeLog from a subversion log.
7
9 svn2cl [OPTION]... [PATH]...
10
11
13 svn2cl generates a classic GNU-style ChangeLog from the log messages in
14 a subversion repository. It acts as a wrapper around the 'svn log'
15 command, parsing the XML output with an XSLT stylesheet. Alternatively
16 it can generate HTML output intended for use with the svn2html.css
17 style sheet that comes with svn2cl.
18
19 In addition to its own options, it accepts and passes along most svn
20 log options; see 'svn help log' for a list of those and their
21 documentation. If PATH is not given, svn2cl will run svn log on the
22 current directory, so it should do the right thing when run from the
23 top of a subversion checkout of the project.
24
25
26 --strip-prefix=NAME
27 Strip NAME from the first part of all file names (e.g.
28 project/trunk). By defaults the current path inside the
29 repository is stripped.
30
31
32 --linelen=NUM
33 Wrap lines at NUM characters. By default, lines are wrapped at
34 75 characters. This option is ignored when the --html option is
35 specified.
36
37
38 --group-by-day
39 This option causes all commit messages to be grouped by day, as
40 long as all the changes are by the same author. By default each
41 message is listed separately with its own timestamp.
42
43
44 --separate-daylogs
45 Include a blank line between log entries when they are grouped
46 by day. Only useful with the --group-by-day option. This
47 option is ignored when the --html option is specified, edit
48 svn2html.css to tune the layout.
49
50
51 -i, --include-rev
52 Include the subversion revision number in the ChangeLog. If the
53 --html option is specified this is implied, edit svn2html.css to
54 turn it off.
55
56
57 -a, --include-actions
58 Add action labels [ADD], [DEL] and [CPY] tags to files to show
59 the operation that is performned on the files.
60
61
62 --break-before-msg[=NUM]
63 Add a line break (or multiple line breadks) between the paths
64 and the log message. If the --html option is specified this
65 option is ignored, edit svn2html.css to set spacing.
66
67
68 --reparagraph
69 Newlines inside paragraphs are ignored and paragraphs are re-
70 wrapped. Paragraphs are separated by empty lines.
71
72
73 --title=NAME
74 If outputting an HTML file the NAME is used as the title. This
75 option is ignored for normal text output.
76
77
78 --revision-link=NAME
79 This option is used to generate links from the revision numbers
80 in the generated HTML file. If NAME contains two hashes '##'
81 that part will be replaced by the revision number, otherwise the
82 revision number will be appended to NAME. Only the first
83 occurrence of '##' will be replaced.
84 This option is ignored for normal text output.
85
86
87 --ticket-link=NAME
88 This option is used to generate links from references to tickets
89 within the commit message in the generated HTML file. Anything
90 that looks like a ticket reference (e.g. '#foo') will be
91 replaced with a link to NAME with the ticket part ('foo' in the
92 example) appended.
93 This option is ignored for normal text output.
94
95
96 --ticket-prefix=NAME
97 This option is used for finding ticket markers in the commit
98 message (when the --ticket-link option is used). The default
99 value is '#'.
100 This option is ignored for normal text output.
101
102
103 --ignore-message-starting=STRING
104 Any log messages that start with the specified STRING are
105 ignored and will not show up in the output. The STRING
106 comparison is case sensitive.
107
108
109 -o, -f, --output=FILE, --file=FILE
110 Output ChangeLog to FILE instead of the default ChangeLog (or
111 ChangeLog.html for HTML output).
112
113
114 --stdout
115 Output ChangeLog to stdout instead of to a file.
116
117
118 --authors=FILE
119 The FILE is used to map author names as exported by svn to full
120 names. See the section on AUTHORS FILES below for more
121 information.
122 Note that the --authors option can have poor performance in some
123 cases.
124
125
126 --html Generate an HTML file containing a ChangeLog instead of the
127 default text ChangeLog file. This feature is still
128 experimental. The svn2html.css file that is included in the
129 distribution can be used to format the HTML.
130
131
132 -h, --help
133 Show short summary of options.
134
135
136 -V, --version
137 Show version of program.
138
139
140 Optional PATH arguments and the following options are passed directly
141 to the 'svn --xml log' command: -r, --revision, --targets,
142 --stop-on-copy, --username, --password, --no-auth-cache,
143 --non-interactive, --config-dir and --limit.
144 See 'svn help log' for more information on these options.
145
146
148 An authors file is basically an XML file that should look something
149 like:
150 <?xml version="1.0" encoding="utf-8"?>
151 <authors>
152 <author uid="arthur">
153 Arthur de Jong <arthur@arthurdejong.org>
154 </author>
155 </authors>
156 svn2cl searches for <author> tags with the specified uid attribute.
157 The content from the author tag is substituted for the author name.
158
159 The <author> tag may also contain XML child tags which can be useful
160 for embedding HTML into the result. For this to work namespace
161 information should be included for HTML output:
162 <?xml version="1.0" encoding="utf-8"?>
163 <authors xmlns:html="http://www.w3.org/1999/xhtml">
164 <author uid="arthur">
165 Arthur de Jong <<html:b>arthur@arthurdejong.org</html:b>>
166 </author>
167 </authors>
168 The svn2cl distribution contains a sample authors.xml file.
169
170 As a bonus a plain text authors file that looks like the following is
171 automatically converted to the XML representation:
172 arthur:Arthur de Jong <arthur@arthurdejong.org>
173
174
176 Note that the default revison range for svn log is BASE:1. This means
177 that svn2cl will not always include the most recent revisons of the
178 repository. Either run 'svn update' before running svn2cl or pass '-r
179 HEAD:1'.
180
181
183 Run svn log recursively on the current directory and generate a text
184 ChangeLog file in the current directory for the entire log history:
185 svn2cl
186
187 Output the changes from the last week, while including revision numbers
188 in the ChangeLog:
189 svn2cl -i -r "HEAD:{`date -d '7 days ago' '+%F %T'`}"
190 (actually subversion will include the first revision before the
191 specified period)
192
193 Generate an HTML changelog for svn://svn.example.com/project/trunk,
194 removing "project/trunk" from the file names in the changelog. Group
195 all commits per day into one ChangeLog entry and only include changes
196 from 2005:
197 svn2cl --html --strip-prefix=project/trunk --group-by-day \
198 -r '{2006-01-01}:{2005-01-01}' \
199 svn://svn.example.com/project/trunk
200
201
203 'svn help log'
204
205
207 Copyright © 2005, 2006, 2007, 2008, 2009, 2010, 2013 Arthur de Jong
208 <arthur@arthurdejong.org>.
209 This is free software; see the license for copying conditions. There
210 is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
211 PARTICULAR PURPOSE.
212
213
214
215Version 0.14 Oct 2010 svn2cl(1)