[cvsnt] Absolute module names not allowed - parsing problems

Hartmut Honisch hartmut_honisch at web.de
Tue Dec 2 09:02:33 GMT 2003


Tony,

TortoiseCVS used to do a "cvs ls -q /" to get a parseable list of all
modules on the server. I understand that as of 2.0.12, this is not allowed
any more.
I'd like to change TortoiseCVS to just use "cvs ls -q" - the big problem is
that cvs then first prints the modules list, and then appends the list of
virtual modules from CVSROOT/modules without a separator (if you just look
at stdout, and that's what TortoiseCVS does. There is a blank line, but
that's written to stderr, and therefore TortoiseCVS misses it):

C:\>cvs ls -q
CVSROOT
MainModule
Module1
Module2
Module with spaces in name
...
Module n
          <-- Blank line written to stderr
VirtualModule_1  MainModule Module 1
....

For parsing the list correctly, I need to know where the "ls" part stops and
where the "CVSROOT\modules" part begins, as spaces in the module names need
to be treated differently.

So my question is: Could you
a) change cvs to either write that blank line to stdout or and some other
kind of separator or
b) add an option to "ls" to suppress the CVSROOT\modules part?


(The easiest thing would be if people stopped using blanks in module names,
but apparently that's not going to happen.)

-Hartmut




More information about the cvsnt mailing list