Man Linux: Main Page and Category List

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.

       --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 &lt;arthur@ch.tudelft.nl&gt;
             </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 &lt;<html:b>arthur@ch.tudelft.nl</html:b>&gt;
             </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 <arthur@ch.tudelft.nl>

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 -d7 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

SEE ALSO

svn help log

COPYRIGHT

       Copyright    ©    2005,    2006,    2007,    2008    Arthur   de   Jong
       <arthur@ch.tudelft.nl>.
       This is free software; see the license for copying  conditions.   There
       is  NO  warranty;  not  even  for  MERCHANTABILITY  or  FITNESS  FOR  A
       PARTICULAR PURPOSE.