[cvsnt] Module information

Thomas Jensen cbm_silverflame at yahoo.com
Thu Oct 4 08:29:54 BST 2007

Gerhard Fiedler:
> /TESTREPO/blabla C:/info.bat $USER %r %c %d

Shouldn't this line (in precommand) be 

  blabla C:/info.bat $USER %r %c %d


Well, that's what I originally tried. But strangely
enough, it refuses to
react on a certain module in precommand. I tried every
combination I could think of:

(Im writing the combinations as a form of regex to
avoid having to list a lot of
unnessecery text)

[/|\]*([TESTREPO][/|\])*blabla[/|\]* C:/info.bat $USER
%r %c %d

So the things I tried is with and without TESTREPO
prefixing blabla and
with and without certain slashes and backslashes
between and pre and post fixing.
Always with a backslash or slash in between though.


You could bypass such a check simply by creating
CVS/Root and 
CVS/Repository files and running update -d.


Yes I can create a repo that only contains the module
that I want to prevent users from accessing with other
commands than export and then use 
cvs [command] -d [blablarepo] to specify that
particular repo and use precommand
in that repo's cvsroot to check what command was run
and preventing other commands
than export based on that.

But I want to avoid having to create a new (extra)
repo for this purpose if at all possible.


Further to Tony's and Gerhard's comments on this.  It
appears that the
documentation is wrong - premodule was never designed
to allow a "fail"
to be passed, and from what I've been told from Tony
it would be very
difficult (if not impossible) to do.

I think the problem you are trying to solve is an
interesting one and
I'll think about what can be done in CVSNT to assist
this in future, and
I've already created a bug to update the

For the short term I think you can get what you want
by relying on the
ACL's to prevent this user from doing anything except
"reading" the
specific module, and writing a "precommand" script to
look for the case
when they try and "export" (it'll require some parsing
of the command
params though).




Okay. I also have a request, that there also will (if
possible) be passed an %o parameter (modulename) to
the precommand script (in a future version of cvsnt)
as there is in premodule. 

I need an administrative file that
has the possibility to stop the cvs server from
preforming a command and that also has
the name of the module aswell as the command available
as parameters.

When newer versions of cvsnt comes out, can I then
safely upgrade the version of
cvsnt that I am using? converting the data to a
possible new format is not desireably.

Since I then would have to write a script that must
parse or checkin and checkout many GB of data.



Skal du købe ny bil? Sammenlign priser på brugte biler med Kelkoo og find et godt tilbud! - Se mere her http://dk.yahoo.com/r/pat/mmb

More information about the cvsnt mailing list