Community technical support mailing list was retired 2010 and replaced with a professional technical support team. For assistance please contact: Pre-sales Technical support via email to sales@march-hare.com.
Tony Hoyle wrote: > On Tue, 15 Apr 2003 18:11:42 +0200, "Bernhard Weichel" > <from-support.cvsnt at b-weichel.7to.de> wrote: > > >> One of the major problems is the extraction of the descriptions. >> So the production rules below will fail if a user comment starts with >> "--" or with "==". > > ..shoudn't be a problem. There's always at least 1 line of commend > followed by a line of '-------' which is fixed length (30 characters > IIRC). The last line of the log is a line of '===' which is also > fixed length (78 I think). If your parser is doing a bit of lookahead > it should be able to make sure that the line of '---' is followed by > a 'revision ' line. It's still possible to fool it, but you'd have > to be trying to deliberately break it in that case. > This is my problem - the builtin parse engine in MetaMorphosis supports RR grammars > If you know any python look at how ViewCVS does this - it parses the > log output (from RCS, but they're basically the same) and puts it in > to local structures. Mostly it just uses PCRE for this. > > Really you want to parse to a tag per line as in: > > <Log RcsFile="f:/data/projects/cvs/develop/test2.txt,v" > WorkingFile="test2.txt" Head="1.57" Branch="" Locks="Strict" > DefaultKopt="kv" TotalRevisions="66" SelectedRevisions="66" > Description=""> > <AccessList /> > <SymbolicNames> > <Tag Name="r_7431_Build_13" Revision="1.33" /> > </SymbolicNames> > <LogRevision Revision="1.33.8.1" Date="2003/04/03 16:41:58" > Author="tmh" State="Exp" Lines="+1 -0" > Kopt="kv" Commitid="1f63e8c66ad0000" > > Test file > </LogRevision> > </Log> > This looks much better, I'll try to achieve this. The builtin parse engin in MetaMorphosis supports attributes but I have never used it so far. > Of course 'log' is the easy one... The output from 'cvs commit' can > be a lot more varied - for that you'd really want to be taking the > client/server protocol so you can get the entry data as it is > generated. Is there any documentation available for the server protocol? Can I run CVSNT on my local box in server mode and still use a remote CVS repository: [myapp]---[cvsnt]--------.... lan ....-------[cvsserver]---[cvs-repository] Bernhard > > Tony