1
|
option to Parse full_path_name Using RCS File |
closed |
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.
This was fixed by the patch for bug#36, which is really a duplicate of
this bug.
|
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 |
closed |
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 |
closed |
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).
|
24
|
Option to not print HH:MM on timestamps |
closed |
small |
MAIL
|
Emacs C-x 4 a doesn't generate the HH:MM in ChangeLogs:
2003-01-15 19:51 Foo Bar <foo@bar.org>
so I added a --no-times switch to cvs2cl to make it behave the same
way.
|
25
|
Option to write output in chronologically ascending order |
closed |
small |
MAIL
|
This patch allows cvs2cl to write its output chronologically, rather
than in reverse-chronological order as is the default.
|
26
|
Option to limit tags used to those specified |
closed |
medium |
MAIL
|
We recently needed a --show-tag option which works contrary to the
--ignore-tag option, i.e. which displays only revisions with a certain
tag. We need this because of our product release policy where we tag a
release and during the testing phase move tags on files which had bug
fixes. So we want to see only revisions which have been changed after a
certain date and which have a certain tag. With "cvs log" options alone
this is not possible because new files (which do not have the tag at
all) still get displayed.
|
27
|
Squash Duplicate Filenames |
closed |
small |
MAIL
|
Quick'n'dirty patch that replaces entries such as:
* reference/: libidn-docs.sgml, libidn-docs.sgml:
Reorder.
with
* reference/: libidn-docs.sgml:
Reorder.
|
28
|
Add --no-common-dir option |
closed |
small |
MAIL
|
It would be nice to be able to disable the common_dir stuff, the
colon in the line confuses Emacs' font-lock which makes it highlight
badly.
|
29
|
Add --FSF option |
closed |
medium |
MAIL
|
Perhaps the defaults should be set up to generate ChangeLog's according
to the FSF Coding Standard. I.e., make --no-times --no-common-dir the
default.
|
30
|
Revert use of common dir when only one filename reported |
open |
medium |
MAIL
|
Hm, now that I see the entry, I see that it doesn't handle reverting
back to "reference/libidn-docs.sgml" when there is only one filename:
* reference/libidn-docs.sgml:
Reorder.
Argh. But when there are more than one file, or if it is in the top
directory, it works. Maybe the second version isn't as bad.
|
31
|
Collect version numbers for repeated files |
open |
medium |
MAIL
|
In the following output from
bperl bin/cvs2cl -r --stdin --stdout --utc < data/1.log
the version numbers for Persistent.java should be collected together.
2000-04-14 18:03 tdraier
* Persistent.java (1.34), Persistent.java (1.6.2.31): debugged
setNew()
2000-04-14 17:36 tdraier
* Persistent.java (1.33), Persistent.java (1.6.2.30): debugged
setNew()
2000-04-13 18:06 tdraier
* Persistent.java (1.32), Persistent.java (1.6.2.29): debugged the
setRestoring state
|
32
|
Add --gecos, --domain options |
closed |
medium |
MAIL
|
The attached patch add automatic email address creation and GECOS
information listing support. New commandline options are fully
documented as well.
Sample output (cvs2cl.pl -G -D orbis-terrarum.net):
2003-02-22 20:23 Robin Johnson <robbat2@orbis-terrarum.net>
* LICENSE: License docs
2003-02-22 20:23 Robin Johnson <robbat2@orbis-terrarum.net>
* Make.rules, Makefile, Makefile.dep, Makefile.inc: Make scripts
|
33
|
--delta flag undocumented |
closed |
small |
MAIL
|
In this case, I found that cvs2pl is even better than I had known from
earlier use. I was browsing the buglist when I saw the messages about
--delta. Cool! Very handy. I simply observe to you that the option
isn't listed in the usage message.
|
34
|
Minimize File Lists with Shell Syntax |
open |
medium |
MAIL
|
Occasionally in the changelog for the "wine" package you see an entry
like this:
* include/*.h, dlls/comctl32/*.c:
Eric Kohl <ekohl@abo.rhein-zeitung.de>
Added xxx_Unregister() functions to all common controls.
I like the include/*.h, dlls/comctl32/*.c notation when several files in
a directory have changed.
|
35
|
Expand usernames based on passwd file |
closed |
small |
MAIL
|
Simple but debian-specific enhancement - upstream might try and be more
portable by making the /etc/mailname lookup something that an argument
can set, but it is actually right for debian in the simple case (and in
the complex case, well, you've already got -U.) Adds this as --passwd
option. Could also be extended to do NIS (via ypmatch) or LDAP
(ldapsearch), though using nss instead would be better; could at least
use some CPAN package for passwd access, even the getpwnam/getpwent
builtin would do. Mostly this is a 3 minute hack that was useful for
me, but that's more expressive than just asking :-)
|
36
|
Add --rcs option |
closed |
small |
MAIL
|
Hi, this patch adds an --rcs option as suggested in the BUGS file, which
allows cvs2cl to be used like
cvs -d /foo rlog bar | cvs2cl --stdin --rcs /foo
to generate ChangeLogs without needing a working copy.
|
37
|
Add --show-dead option |
closed |
medium |
MAIL
|
I modified the script to record the cvs state of each file in
$qunk{'cvsstate'}. This is then used in xml output. A new --dead (or -D)
switch reports when a commit has sent a file to the attic for normal
ChangeLog output. Not sure if you'll like the output format, but that's
easy enough to change. Modified script is attached.
|
38
|
Add --no-ancestors option |
closed |
small |
MAIL
|
Extend cvs2cl.pl to include the ability to follow changes from the
branch node forward when used in conjunction with the -F option.
|
39
|
Add --update option |
open |
medium |
MAIL
|
The first is an "--update" option, which is similar to, and based upon,
"--accum", except that it lists only those files that have been changed
since the last time it was run. There is a quirk, however. The last
checkin listed is always a repeat. I have had no problem with my
userbase once I explained the quirk to them. I have thought of a way to
deal with this - if you think that "--update" should operate without
the repeats, please let me know.
|
40
|
Add --summary option |
closed |
large |
MAIL
|
The second is a "--summary" option, intended for reviewing checkins.
This sorts the files in a checkin group into added, deleted, and changed
files, and prints the change details for the changed files. Note that
Summary mode does not do text wrapping - this is deliberate, as human
readbility is severely impaired by text wrapping in this output style -
generally, a very wide window is needed.
|
41
|
RCS File unrecognized on Windoze boxen |
closed |
small |
MAIL
|
I like the --rcs option, but, under Windows, and I guess depending on
how one defines/specifies the CVSROOT value, the "RCS file:" record may
contain forward and backward slashes
|
42
|
--chrono flag not documented |
closed |
small |
MAIL
|
Also, I noticed the option '--chrono' is not displayed in the subroutine
usage().
|
43
|
--mailname handling is inconsistent/nonsensical |
closed |
small |
MAIL
|
The message from cvs2cl.pl --help says that --mailname is 'only used
with --passwd'. But why should this be? Doesn't it make sense to
specify a domain name for email addresses without looking up real names
in the passwd file?
OTOH, if you want to keep the current rule that it makes no sense to
give --mailname and not --passwd, there should be an error message when
this happens.
|
44
|
End-of-line whitespace being generated |
closed |
small |
MAIL
|
Here's another patch: it removes some trailing whitespace on lines in
the ChangeLog, which is quite annoying if you use an emacs mode which
highlights trailing whitespace. Hopefully it will apply even though the
line numbers are fuzzy.
|
45
|
Awkward wrapping on two-space sentence gap |
closed |
small |
MAIL
|
I wasn't able to pinpoint any change that caused the following to
happen, before:
2003-02-19 Simon Josefsson <simon@josefsson.org>
* profiles.c: Don't normalize or map ASCII space for XMPP nodeprep.
Tiny patch from Travis Shirk <TShirk@jabber.com>.
now:
2003-02-19 Simon Josefsson <simon@josefsson.org>
* profiles.c: Don't normalize or map ASCII space for XMPP nodeprep.
Tiny patch from Travis Shirk <TShirk@jabber.com>.
I.e., there is a spurious SPC after the \n\t. The CVS log entry is
"...prep. Tiny...".
|
46
|
Cosmetic Improvement to Indenting |
closed |
small |
MAIL
|
when you have alot of files in one commit and get that list wrapped you
end up with stg like this:
---snip---
2003-05-12 20:07 marko
* ExpEdit/EditLampe.php, ExpEdit/InputExperiment.php,
ExpEdit/InputKat.php, ExpView/Experiment.php,
ExpView/Kategorie.php, ExpView/Lampe.php:
vergessene relative Pfade ergaenzt
---snip---
Would it look nice to indent the wrapped lines according to the indent of
the first line like:
---snip---
* ExpEdit/EditLampe.php, ExpEdit/InputExperiment.php,
ExpEdit/InputKat.php, ExpView/Experiment.php,
ExpView/Kategorie.php, ExpView/Lampe.php:
---snip---
|
47
|
Don't show log entries for branch-file addition |
closed |
small |
MAIL
|
We ran across an issue which, from what I could tell, wasn't addressed
by any of the existing commandline switches on cvs2cl.pl. I was
wondering if you could provide feedback and/or accept a patch to correct
it.
The problem that we saw is that files that get added on a branch get a
dead 1.1 revision on the trunk. When you use cvs2cl to follow just the
trunk, these files show as dead. For various reasons we need to show
dead files in the output. The problem is that the files in question are
not nor have ever been part of the trunk and thus in my opinion
shouldn't be seen in the change log at all.
To this end, I hacked in a new command line switch to hide these
files. I've attached my modified 2.48 cvs2cl.pl. All of my changes are
marked with my initials: KML. My perl skills aren't the best, so if
there is a better way to do this, feel free. Just let me know if you'll
accept this change as it would be nice not to have to run a hacked
version.
|
48
|
Change Tracking Format
|
open |
large |
MAIL
|
The scenario is I need the file name, with a revision with a tag. Then I
need any new files and revisions for the next tag.
Example:
Counter Filename Old Release(tag) /Revsion New Release(tag)/Revision
1 foo.c Release1_1_8 revision 1.4 Release2_0_0 revision 1.5
I'm trying to track specific revisions from one release to the next and
print it out in the above format.
|
49
|
interpret "[user@]host:/file/whatever" in -U option |
closed |
small |
MAIL
|
This patch lets you use "[user@]host:/file" syntax to refer to remote
user files in -U. I needed this to support "-U `cat
CVS/Root`/CVSROOT/users", and think it might be slightly useful to
others.
|
50
|
inverted --no-ancestors options |
closed |
small |
MAIL
|
It seems that the new --no-ancestors option works backward. Running
cvs2cl.pl -F branch
causes only the changes on that branch (no ancestors) to be included in
the change log
cvs2cl.pl -F branch --no-ancestors
causes the branch and all ancestors to be included in the log.
The fix looks to be trivial; the one place where $No_Ancestors is used
need to be inverted:
elsif ((length ($branch_number)) > (length ($revision))
and
!$No_Ancestors)
|
51
|
Additional newline present at end of msg in XML output |
closed |
small |
MAIL
|
The XML outputted by "--xml" has some bugs. For example, see this log
entry:
<entry>
<date>2003-08-05</date>
<weekday>Tuesday</weekday>
<time>12:39</time>
<author>Author</author>
<file>
<name>filename</name>
<cvsstate>Exp</cvsstate>
<revision>1.1</revision>
</file>
<msg>Commit message here.
</msg>
</entry>
Note the additional newline at the end of <msg>...</msg>. A
XML file is like a database, and all characters between tags are
evaluated. A standard XML parser doesn't ignore newlines or blank spaces
(except if configured to do so), because it can damage the data inside
tags.
|
52
|
Add option to make cvs2cl XML namespace optional |
closed |
small |
MAIL
|
A second problem is in the <changelog> tag. It is printed as:
<changelog xmlns="http://www.red-bean.com/xmlns/cvs2cl/">
But there is no namespace on http://www.red-bean.com/xmlns/cvs2cl/.
Also, a root tag like this can confuse xsltproc (when using XSLT to
transform the XML output), so it's best to change this line to
<changelog>
Or add a "--noxmlns" option to disable this if nedeed.
|
53
|
Add option to group authors on a single day |
open |
large |
MAIL
|
However, I'd like to get daily CVS commit output sorted by person.
Currently, when a person commits multiple changes in a day, they appear
one by one, like this:
* 2003-07-30 21:11 - Jeroen Coumans
Evil update to all files - disable IE smarttags and the stupid image toolbar
* 2003-07-30 18:50 - Jeroen Coumans
Add the LFS RSS file. Until Rob whips up a perl script, this will have
to be maintained manually from the lfs/news page.
* 2003-07-30 18:29 - Jeroen Coumans
Fix some validation issues and HTML abuse in the FAQ.
* 2003-07-30 18:05 - Jeroen Coumans
Updated the FAQ links to the mail archives.
Instead, I'd like them all grouped together like this:
* 2003-07-30 21:11 - Jeroen Coumans
- Evil update to all files - disable IE smarttags and the stupid image
toolbar
- Add the LFS RSS file. Until Rob whips up a perl script, this will have
to be maintained manually from the lfs/news page.
- Fix some validation issues and HTML abuse in the FAQ.
- Updated the FAQ links to the mail archives.
|
54
|
Add options to cvs2cl to directly implement filters |
open |
medium |
MAIL
|
Currently filters may be applied to the log output only via -l to get
cvs log to do the work. However, this relies on the semantics of cvs
log, which is not always perfectly flexible or intuitive. Therefore
some filters could be added directly; e.g., filter by date, and/or
author, or filename regex, or...
|
55
|
Add support for function-name after filename |
open |
medium |
MAIL
|
Following GNU Chanlog standards, is there a mean to append the
function/class name after the file name with cvs2cl :
* sort.el (sort-subr): Return nil.
If I my commit message is
(sort-subr): Return nil.
I get
* sort.el: (sort-subr): Return nil.
|
56
|
Unitialized value warnings with --gecos |
closed |
small |
MAIL
|
When I use --gecos option as "cvs2cl.pl --gecos" I get lots of
messages as follows.
Use of uninitialized value in substitution (s///) at ./cvs2cl.pl.org line 610,
+<LOG_SOURCE> line 201.
|
57
|
Remove Attic/ path from --rcs input |
closed |
small |
MAIL
|
When using --rcs for piping a raw rcs log from cvs rlog, there's no
'Working file:' line for each file in the input log. I noticed you've
already got this case covered. However, if a file is in the attic, the
changelog output from cvs2cl has .../Attic/... in the filename. All I
did was add the following line to zap Attic in filenames
$new_full_path =~ s/Attic\///;
This way, you get the same output as when cvs2cl runs without --rcs.
|
58
|
Mode for following multiple branches in one pass |
open |
medium |
MAIL
|
I don't use RCS either, just CVS. It's easy enough to create a raw rcs
log:
cvs -d/your/repository rlog < module > rawlog
then shove it into cvs2cl
cvs2cl.pl --stdin --rcs /your/repository/module < rawlog
I do it like this so that I can run cvs2cl several times to create
changelogs for individual cvs branches with --follow, while only
generating the log data once.
|
59
|
Handle branch-added filenames with spaces in the name |
closed |
small |
MAIL
|
I've found another tiny bug. This time flagged up by spaces in file
names (who puts file names with spaces in CVS?). Here's the culprit:
unless ($Hide_Branch_Additions and $msg_txt =~ /file \S+ was
initially added on branch \S+./) {
It doesn't (appear to) account for a filename with a space. I must
confess I don't actually know what \S matches. Anyway, replacing '\S+'
with '.*' seems to fix things for me. I'm sure you can come up with a
more robust regexp.
|
60
|
Add ISO Date in XML Output |
closed |
small |
MAIL
|
For any kind of XML post-processing, an ISO-formatted date is fairly
useful (and also clarifies any ambiguity over local time or UTC). This
patch adds one in, as an 'isoDate' element.
|
61
|
Add examples of sue of -l -d |
closed |
small |
MAIL
|
I would find it very useful to give sample valid date formats in the
usage documentation, since it is really a pain to find out the correct
one to launch cvs2cl.pl for a given date range (due to the internal
escaping of parameters probably)
|
62
|
Add by-tag change collation |
open |
large |
MAIL
|
I am interested in the feature of displaying in the Changelog the tag
names used on a repository, chronologically. The idea is to be able to
use tha tags extracted from 'cvs status -v' to mark the point in time
where a tag was applied, so a Changelog will implicitly better separate
changes between different tags (which could be used to mark official
releases).
|
63
|
Group all changes within a date |
partial |
medium |
MAIL
|
I regularly use cvs2cl.pl to produce a ChangeLog for a project of mine
and it's a great script, the only thing i'm missing is the possibility
to have the date +listed only once, so that if I use "--no-times", all
the items from that date be listed +under the same date.
|
64
|
Option to remove indentation of change text |
closed |
medium |
MAIL
|
I wanted to use cvs2cl but only to collect cvs log messages without
processing them by any other means. I found --summary, which does
basically what I want except that it prints info on the files and
indents the log messages by a tab.
The first problem can be solved by allowing the use of --hide-filenames
together with --summary. Well, it degrades --summary to almost nothing,
but the user should know what he does...
To solve my second problem I added a new command line option
--no-indent, which, if used, disables prepending tab characters to the
lines.
|
65
|
No Manpage |
closed |
medium |
MAIL
|
cvs2cl has no manpage, and this really should change. I took the
liberty of converting the output of cvs2cl --help to a manual page. You
can find it at
https://cvs.noreply.org/cgi-bin/viewcvs.cgi/cvs2cl/debian/cvs2cl.1?view=markup
Maybe you find it useful and can include it in cvs2cl's repository.
|
66
|
-no-indent indents even with --hide-filenames & --no-wrap |
closed |
small |
MAIL
|
I have called the script with the following parameters:
cvs2cl.pl --FSF --utc --no-indent --no-wrap -S -U user.db
--hide-filenames --window 60 -F B_PHPTODO_R1_00_KAMA
I got the following output:
-----------------------------
2004-01-08 Karl-Heinz Marbaise <karl-heinz@minkenberg-medien.de>
* - ChangeLog hinzu gekommen
- Release 0.61.26
2004-01-08 Karl-Heinz Marbaise <karl-heinz@minkenberg-medien.de>
* - Branch Wechsel
2004-01-07 Karl-Heinz Marbaise <karl-heinz@minkenberg-medien.de>
* - PHPDocumentor Eintr?ge ?berarbeitet
- Einordnung in Lib / PTL etc.
- Release 0.61.25
------------------------------
|
67
|
Summary Doesn't Wrap |
closed |
medium |
MAIL
|
Just make sure you have some that are long enough to need to be wrapped.
Run this:
cvs2cl.pl --summary --fsf
It doesn't wrap the lines, which I feel it should. If you don't want
wrapping, I figured you'd specify --no-wrap. If you did want wrapping,
under the old code, I don't see any way to make that happen.
|
68
|
(Debian bug #233672) fails with Perl warning when called with --tags and --branch |
closed |
small |
MAIL
|
$ cvs2cl -b -t --stdout
Can't use an undefined value as an ARRAY reference at /usr/bin/cvs2cl.orig line 475.
|
69
|
Gecos parsing fails for authors missing a column in gecos field |
closed |
small |
MAIL
|
For any authors whose gecos entry lacks a comma, cvs2cl warns of
Exiting subroutine via next at /usr/users/tst_s000/cvs2cl.pl line 2033, <LOG_SOURCE> line 303.
and fails. For auhors missing in gecos field, cvs2cl errors complaining
of trying to call '->gecos' on an undef.
|
70
|
uninitialized values with --follow |
closed |
small |
MAIL
|
with cvs2cl.pl 2.52 I get lots of the following errors
when trying to use --follow BRANCH:
Use of uninitialized value in substr at /home/js/src/other/cvs2cl/cvs2cl.pl line 1987,
+<LOG_SOURCE> line 784198.
Use of uninitialized value in length at /home/js/src/other/cvs2cl/cvs2cl.pl line 1987,
+<LOG_SOURCE> line 784198.
|
71
|
cvs2cl does not return an error code when failing with certain errors |
open |
medium |
MAIL
|
Current cvs2cl doesn't exits with error status if cvs fails:
$ cvs2cl; echo $?
cvs log: No CVSROOT specified! Please use the `-d' option
cvs [log aborted]: or set the CVSROOT environment variable.
0
$
Thus, I can't detect reliably if it fails from my scripts. Note that cvs
does exit with nonzero status on error:
$ cvs log; echo $?
cvs log: No CVSROOT specified! Please use the `-d' option
cvs [log aborted]: or set the CVSROOT environment variable.
1
$
I browsed the source, but I don't know perl, so I don't know how to
detect the exit status of a piped comand. Perhaps it could be done at
line 649, before the "close (LOG_SOURCE);".
|
72
|
--delta flag should take square brackets |
closed |
small |
MAIL
|
--delta regex for tags should include [,]
|
73
|
Add --lines-modified option |
closed |
small |
MAIL
|
I've attached a simple patch which adds a new command line flag to
cvs2cl, "--lines-modified". This instructs cvs2cl to emit information
(in the XML output mode only) describing the # of lines added and
removed for a given commit.
|
74
|
Add --follow-only option |
closed |
large |
MAIL
|
Option required that acts like --follow but ignores sub-branches.
|
75
|
CVS log date output format changed (CVS 1.12.9) |
closed |
small |
MAIL
|
Hi there,
CVS 1.12.9 uses a new date format in its log output. I had to patch my
copy of cvs2cl.pl (2.55) to get it working again. I have attached the
patch in case you're interested.
|
76
|
Undefined function call with -d |
closed |
small |
MAIL
|
Here is the output of cvs2cv -d:
rzyj@rzyj:~/projekty/speagram$ cvs2cl -d
cvs log: Logging .
cvs log: Logging src
Undefined subroutine &CVS::Utils::ChangeLog::FileEntry::fileparse called at /usr/bin/cvs2cl line 1799, <LOG_SOURCE> line 19. rzyj@rzyj:~/projekty/speagram$ cvs [log aborted]: received broken pipe signal
Write failed flushing stdout buffer.
write stdout: Broken pipe
|
77
|
--gecos Parsing Uses getpwnam Incorrectly |
closed |
small |
MAIL
|
I'm currently installing cvs2cl with a couple of other programs related
to cvs in our research group here at the Met Office. I would like to use
cvs2cl with it's --gecos option to have nicer ChangeLog with the real
names of the programmers. This did work nice in an older version of
cvs2cl, but since I downloaded the recent version (2.55) from your web
page, I get the following error message:
Can't call method "gecos" without a package or object reference at
/home/fr1210/frcm/bin/cvs2cl line 2212, <LOG_SOURCE> line 14.
I believe this is due to an error within the
read_date_author_and_state() function. I have attached a patch that
seems to fix the problem for me (but I'm certainly not a born perl
programmer, so there will be better ways to do that).
|
78
|
Create xml-header option |
open |
small |
MAIL
|
Add --xml-header option akin to --header, but inserting it's contents
within the XML header area in XML mode.
|
79
|
--prune stopped working |
closed |
small |
MAIL
|
|
80
|
Single quotes don't work on Windoze |
closed |
medium |
MAIL
|
Unfortunately Windows don't understand command arguments enclosed in
single quotes as cvs2cl.pl v2.57 does. I offer following fix at line
#2608 in parse_options():
#push @log_source_command, map "'$_'", @ARGV;
push @log_source_command, map "\"$_\"", @ARGV;
I believe double-quotes enclosement should work for Unix also.
|
81
|
--ignore should take regex |
closed |
small |
MAIL
|
The manual page is quite clear on this:
-I REGEXP, --ignore REGEXP
Ignore files whose names match REGEXP. This option may be
used multiple times.
Although there is no REGEXP asked but the full filename path, according
to this code snippet from cvs2cl in line 2128:
if ( grep index($path, $_) > -1, @Ignore_Files ) {
According to "perldoc -f grep" it works "grep EXPR,LIST", $path is the
path including the filename within the repository and @Ignore_Files is
filled with the (multiple) --ignore value(s).
So, I guess this could either need a code change (I would truly
appreciate it, because real REGEXP would be very very neat in here!) or
at least a documentation change (then you might consider leaving it open
as wishlist, pretty please).
|
82
|
_revision_in_branch is wrong for branches with 10+ revisions |
closed |
small |
MAIL
|
If you look in the subroutine _revision_is_wanted, and search for the
comment "Trivial case", then just below that there is a conditional that
seems wrong to me.
# Trivial case: is this revision on the branch? (Compare this way to
# avoid regexps that screw up Emacs indentation, argh.)
if ( substr($revision, 0, (length($branch_number) + 1))
eq
($branch_number . ".") ) {
if ( $followsub ) {
return 1;
} elsif (length($revision) == length($branch_number)+2 ) {
return 1; # THIS IS NOT COMPLETE FOR REVISION NUMBERS WITH
# FINAL DIGITS > 9
}
But what happens if the revision on the branch is two digits? E.g
revision is 1.16.2.10 and the branch is 1.16.2 Then what was ok for
1.16.2.9 no longer works.
|
83
|
Add tag dates to XML output |
closed |
small |
MAIL
|
The cvs2cl --xml output doesn't contain date of tags though. I think
is useful, so I create the following patch. What do you think?
|