[cvsnt] : cvsgraph problems with cvsnt-style RCS file format
Markus.Gebhardt at etas.de
Markus.Gebhardt at etas.de
Tue Jun 24 11:31:44 BST 2003
Hi,
for those of you who intend to use usernames with special characters like
dots and also use cvsgraph (usually with viewcvs):
I ran into troubles when we used cvsnt usernames containing a dot (used
email address names as cvs usernames for having the same usernames as in
bugzilla) and
running viewcvs with cvsgraph.
However, these usernames are a cvsnt feature that is not compliant with
the RCS file (*.v) definition, where
delta ::= num
date num;
author id;
state ...
....
id is defined as ::= {num} idchar {idchar | num}* with idchar ::=any
visible graphic character except special (special is $ | , | , | : | ; |
@)
Therefore the rcs format wouldn't allow dots in usernames (=author). Cvsnt
does allow this while using a string ::= @{any character with @ doubled
}*@
instead of an id for the author, thus "escaping" the author name
containing special characters with "@"
Using cvsgraph within Viewcvs fails as cvsgraph since cvsgraph expects an
id as the author, not a string. Using the rcsdiff that comes with cvsnt
doesn't help, since
cvsgraph uses flex and yacc for parsing the *,v files in the repository.
Therefore I applied a little patch to make cvsgraph working with the cvsnt
styl rcs files. After extracting the sources (cvsgraph-1.4.0.tar.gz)
there is the yacc-file rcsy.y that defines
the expected author type in the delta section of the *,v files of the
repository.
delta : tREV
tDATE tREV ';'
tAUTHOR { set_id(); } tID ';'
tSTATE { set_id(); } oid ';'
tBRANCHES orevs ';'
tNEXT orev ';'
ophrases { $$ = new_delta($1, $3, $7, $11,
$14, $17); }
;
By changing
tAUTHOR { set_id(); } tID ';'
to
tAUTHOR { set_skipstr(); } tSTRING ';'
cvsgraph accepts a string instead of an id as author.
Just compile and replace the executable cvsgraph. - I haven't found any
side effects so far.
I did this on a linux machine, but it should work on any other OS.
Maybe this comes in handy for someone...
Mit freundlichen Grüßen / with regards
Markus Gebhardt
ETAS/ESC-ES
Borsigstrasse 14
D-70469 Stuttgart
Tel. +49 (0)711 89661 278
markus.gebhardt at etas.de
More information about the cvsnt
mailing list