cvs2cl bugs/requests

1 option to Parse full_path_name Using RCS File awaiting_reply medium MAIL
      The patch adds a '--rcs' option which tells it to parse the
      full_path_name based on the RCS file name rather than the Working file
      name.  The reason for this, is that when run on the server it uses
      rlog as it is operating on the repository directly, rather than in a
      working directory.  The Working file name is always listed without a
      path, however the RCS filename has the path.
    
2 automatically Recognize Individual Items in a Log Entry open large MAIL
      We have a great deal of CVS files with multi-line Commit-Comments akin
      to,

        + new feature BLAH added
        + source stripped from FOO
        + user FREAK accounted for

      etc.

      some start with '+', some with '-' others with '*' and yet more with
      nothing but new sentences.

      Here's my question, if I run cvs2cl.pl on what's noted above I get ONE
      paragraph with all the '+' jumbled inside something akin to

        * AUTHORS, TODO, dict_admin.cgi, dict_create.pl, dict_header.pl,
        dict_lib.pl, dict_main.cgi: + Added reconfirm password change (for
        admin) + Added hidden/setting attributes + Extracted all the embed
        files to _header + Added ability to create db.tables by a different
        user (if need be) + Corrected dict_main typos in

      Not very readable -- it would be best if it was something like this
      instead,

        * AUTHORS, TODO, dict_admin.cgi, dict_create.pl, dict_header.pl,
          dict_lib.pl, dict_main.cgi:
          + Added reconfirm password change (for admin)
          + Added hidden/setting attributes
          + Extracted all the embed files to _header
          + Added ability to create db.tables by a different user (if
            need be)
          + Corrected dict_main typos in

      Note continuation of line starts under first letter of line (ie. below
      'A' not below '*' or '+' to give a flowing feel to it).
    
3 --accum option keeps adding same logs open medium MAIL
      Every time I run cvs2cl entries are added to the ChangeLog file. There
      were no changes in the meantime and the added changes were already
      there. The added changes are all but the last log messages of today (4
      of the 5 logs). When running cvs2cl without the --utc everything works
      as expected.
    
4 show only log messages NOT matching a certain regular expression closed small MAIL
5 -W fails to handle argument '0' closed small MAIL
      perl ~/cvs2cl.pl -t -W 0

      And was surprised to find

      "-W needs argument."
    
6 ignore-tag option patch_supplied medium MAIL
      The history is that I was looking to generate a log of changes since the
      instance of the tag, but the date system is unusable, since tags are not
      related to dates.  Using the -r option to cvs log helps, but not
      completely, since it includes the checkin that made up the tag.
    
7 cvs2cl spins on directories called '0' closed small MAIL
      I have discovered a strange bug in cvs2cl which will only show up in a
      VERY specific situation. If you have a directory called '0' (The number
      0) anywhere in a directory tree where you are running cvs2cl, you will
      get into an infinite loop in the lines at about line 1208, 1209 (I may
      have screwed up the line numbers in my hacking).
    
8 delta option for trimming log to between two tags closed medium MAIL
      This patch adds a '--delta' flag to cvs2cl - this is a simplistic
      implementation that determines the last seen time for the two tags you
      give it and trims the ChangeLog output based on those dates.

      There's a possibility that this could yield too much or not enough log
      info if a subset of the tags have been moved. (Or, conceivably, if you
      hit the inherent race condition in a date-based algorithm, but thinking
      about that makes my head hurt. ;)

      One could write a dissertation on the problems with cvs' tagging scheme
      - files that were deleted at a specific revision just aren't tagged, so
      it's impossible to get complete information on the state of the
      repository at the time of any given release. For files that are missing
      one or both tags, you can only guess at the proper state based on the
      latest tagged date. This implementation uses that date as the criteria
      for *all* files, though.

      Nonetheless, it should work for 90/99% of cases...
    
9 deleted Subdirectories Disappear open medium MAIL
      One problem is that, if you delete a subdirectory (delete all the
      files then cvs update -P), then cvs log stops looking at it.  So the
      changelog essentially rewrites history as if those files had never
      existed.
    
10 only generate logs for revisions on a branch open large MAIL
      List only the revisions occurring on a branch, not ancestors (or
      descendents?) to the branch.
    
11 log tags with date the tag first occurred closed medium MAIL
      The patch adds the following command line option:

        -T, --tagdates             Show tags in output on their first occurance


      This allows for easy tracking of what changes occured before / after a
      certain tag was made. A lot more understandable than to have the tag
      listed on each file separately..


      Example:


      2002-04-25 16:31  flavio

              * templates/html/pptpconn.html: fixed reload of parent window on
              pptpconn.html

      2002-03-27 22:15  tag V2_4

      2002-03-27 22:15  henrik

              * templates/firewall: Fixup local firewalling for multilink
    
12 deleted file between tags causes 'no revision in CVSROOT' error open medium MAIL
      Context :
      FileA present in branch and have Tag A, B and C
      FileB earlier present but now deleted (between B and C)

      cvs2cl.pl -l -rA:: is OK

      but cvs2cl.pl -l -C:: say me "cvs log: warning: no revision `B in
      CVSROOT" and the log appear in changeLog.
    
13 Option to unify by author & time-window open large MAIL
      Example: I have the following ChangeLog

      2002-05-24 19:21  hartge

              * lib/keenspot: updated wendy release cycle

      2002-05-24 19:11  hartge

              * lib/keenspot: update to wendy and cutewendy

      2002-05-24 18:13  elliotglaysher

              * ChangeLog, debian/changelog, lib/comicspage, lib/helen: Sizer's
              patches

      2002-05-24 17:57  hartge

              * MANIFEST: added bf

      2002-05-24 17:55  hartge

              * Makefile.PL, lib/bf: Makefile.PL, lib/bf: added module for German
              Userfriendly (Benutzerfreundlich)

      2002-04-25 23:26  hochstrb

              * ChangeLog, lib/animation_express: added support for mini-animated
              gifs at animiation express

      2002-04-15 14:27  hochstrb

              * Netcomics/Util.pm, Netcomics/HTML/Page.pm,
              Netcomics/HTML/Theme.pm, Netcomics/HTML/Themes/CleanRound.pm,
              doc/Comic_Module-HOWTO.html: support for embedded objects


      I would like it better to have an output like the follwing:

      2002-05-24  hartge

              * lib/keenspot: updated wendy release cycle
              * lib/keenspot: update to wendy and cutewendy
              * MANIFEST: added bf
              * Makefile.PL, lib/bf: Makefile.PL, lib/bf: added module for German
              Userfriendly (Benutzerfreundlich)

      2002-05-24  elliotglaysher

              * ChangeLog, debian/changelog, lib/comicspage, lib/helen: Sizer's
              patches

      2002-04-25  hochstrb

              * ChangeLog, lib/animation_express: added support for mini-animated
              gifs at animiation express
              * Netcomics/Util.pm, Netcomics/HTML/Page.pm,
              Netcomics/HTML/Theme.pm, Netcomics/HTML/Themes/CleanRound.pm,
              doc/Comic_Module-HOWTO.html: support for embedded objects

      As you see, for every day, there is a summary of every users checkins.
    
14 Conflict with --accum and -D closed medium MAIL
      I have problems with 'cat filelist | xargs cvs2cl.pl --accum' when we
      have a realy long file list!  cvs2cl will run 'cvs log
      -D>newesdateinchangelog ...' cmd and filter out needed changelogs! ck

      I prevent this bei using --stdin option, but i changed a view lines in
      the script which seemed to be wrong or not general:
    
15 Overlap with -r and -b open medium MAIL
      using: cvs2cl.pl -t --no-wrap -S  -r -b

      causes the branch label to overwrite the revision number in ChangeLog as
      follows:

      2002-08-12 13:40  jons

               * Mem_access.cpp (tags: JSRS3043) (JSRS3005B1.11):

      whereas using: cvs2cl.pl -t --no-wrap -S -r gets:

      2002-08-12 13:40  jons

               * Mem_access.cpp (1.11.2.11, JSRS3043):
    
16 There is a difference in using --stdin with rlog format input open medium MAIL
      I tried cvs rlog foo | cvs2cl --stdin --stdout
      and found out there is a slight difference between
      log and rlog:

      RCS file: /usr/local/cvs/cvsroot/packages/web/help/platoon/support/Makefile,v
      Working file: packages/web/help/platoon/support/Makefile

      in the rlog case becomes:

      RCS file: /dsk/lv02/cvs/cvsroot/packages/web/help/platoon/support/Makefile,v

      without the "Working file" which causes major problems
      with the line
      if ((! (defined $file_full_path)) and /^Working file: (.*)/)

      RCS file: ... perhaps does not look nice but works.

      It would be nice with support for the rlog-format.
    
17 Add option to specify encoding name for XML closed small MAIL
      I have made a modification to specify the langage in xml header
      <?xml version="1.0" encoding="latin1"?>
      Now, cvs2cl accepts the -e (or --encoding) command parameter following
      by the langage specification.
      cvs2cl -e latin1 --xml ...
    
18 Spurious 'Malformed UTF-8 character' warnings emitted closed small MAIL
      This issue occurs only under perl5.8.0 on some platforms (specifically
      RedHat 8)
    
19 Carriage Returns Wreak Havoc on Windoze closed small MAIL
      "binmode LOG_SOURCE" is deadly on Windows platforms running newer
      versions of ActiveState perl.

      Reported against 2.44
    
20 Limit Revisions Logged to Latest Entry Only open medium MAIL
      And we are interested in finding files in their latest revisions only
      (not all the revisions) that have got a token in the message log when
      commited (using regexp option);
    
21 Sort output by Filename open small MAIL
      get the ouput sorted by file (not by date)
    
22 Extra Square Brackets appeared on revision numbers closed small MAIL
      Old versions of cvs2cl (2.38) would print the revision numbers of a
      single file as x.y.z.a, but of multiple files on the same branch as
      x.y.z.[a,b.c].  The new version prints even the singleton revision as
      x.y.z.[a].  It would be good if there was at least an option to prevent
      this, as it makes lots of spurious diffs appear in ChangeLogs.
    
23 Perl Version Hardwired closed small MAIL
      older cvs2cl's did the clever `use /bin/sh then exec perl trick' which
      meant the perl path didn't matter, the new one hard wires in
      /usr/bin/perl (which is not always right on, say, older versions of
      Solaris).
    
Translated by SAXON 7.2 from Michael Kay