1svn2cl(1)                        User Commands                       svn2cl(1)
2
3
4

NAME

6       svn2cl - Create a ChangeLog from a subversion log.
7

SYNOPSIS

9       svn2cl [OPTION]...  [PATH]...
10
11

DESCRIPTION

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

AUTHORS FILES

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 &lt;arthur@arthurdejong.org&gt;
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 &lt;<html:b>arthur@arthurdejong.org</html:b>&gt;
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

NOTES

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

EXAMPLES

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

SEE ALSO

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)
Impressum