[Cvsnt] How can checkout CVSROOT/modules

Anthony Williams anthwil at nortelnetworks.com
Mon Feb 11 12:35:24 GMT 2002


<Jo.Kilian at gmx.de> wrote in message news:25658.1013418041 at www11.gmx.net...
> >I'm not a WinCVS user (I prefer the command-line tool),
> >but all you will probably need is to convert:
> >
> >    cvs history -c -a -l | awk '{sub(/[/].*/,"",$8); print $8;}' |
sort -u
> >
> >to Python.  All the above does is:
> >  a) collect the output of the cvs history
> >  b) strip field 8 (delimited by spaces/tabs) of all
> >     characters following the first '/' character
> >  c) prints _only_ field 8 (throws away all other fields)
> >  d) perform a unique sort (throwaway duplicates) of
> >     the result.
> >
> >I imagine that would be quite easy in Python.
>
>
> It's qite easy in Perl too ... ;-)

But if any of your module or file names contain spaces (like the repository
I just imported from Microsoft Visual SourceSafe) then extracting "field 8"
is tricky as it is space-delimited. It should be noted that the module names
are followed by "==" (aligned to the same column in each row), and the start
of all the module names are in the same column.

Hence the module name is columns n-m where n and m are the same in every
line. The character at n-1 is a space on every line, the characters at m+1
and m+2 are "=", and there are at least 7 fields before column n. Note also
that character n-2 must NOT be a space for at least one line.

This won't catch everything, but it will help.

Anthony
--
Anthony Williams
Software Engineer, Nortel Networks Optical Components Ltd
The opinions expressed in this message are not necessarily those of my
employer



_______________________________________________
Cvsnt mailing list
Cvsnt at cvsnt.org
http://www.cvsnt.org/cgi-bin/mailman/listinfo/cvsnt



More information about the cvsnt mailing list