Hello Arthur,
On Oct 8, 2007, at 10:38 PM, Arthur Barrett wrote:
Michael,
committable. So I tried to put into the commitavail file
avail | <username>
unavail | <username> | <file_incl_full_path>
Is this a part of cvsacls or is it some other patch, I've seen the odd
reference to it but I'm not sure. I usually use CVSNT on linux which
has inbuilt ACLs but this appears to be something else...
No, it's neither CVSNT nor cvsacl, it's the "standard" CVS version
1.12.13 running on on Red Hat 7.3. I'm not sure about the exact
details of the server side as it is centrally hosted on a cluster and
AFS and i do not have administrative rights there, except for the
project that I'm responsible for.
This helps in that sense that the user can't commit the single file
alone anymore. yet when the full module in which it is embedded is
checked in, the file is committed too. Is there any way to prevent
this? I already checked the Cederqvist too, but couldn't find
anything in there, so maybe someone here has an idea.
You'd need to write a trigger. Precommit (CVSNT only?) and Loginfo
will
receive the names of all files checked in in the commit. You'll
need to
parse it to see if the "one file" is in the list and if so check that
the "other file(s)" are also in the list. Precommit will fail the
commit if you return a +ve value but loginfo you'll only be able to
send
an e-mail or something warning the user that they should have also
committed "the rest"...
Sadly, there is no precommit in CVS, at least not in the version
we're using.
Again - I'd do this in a C/C++ trigger in CVSNT on linux or
windows, but
CVS only has script (eg: perl) triggers, but you could achieve the
same
results if you know Perl well. IF you need an example CVSNT C/C++
trigger have a look at the audit or email triggers in the cvsnt source
repo, if you need a sample perl script look at the cvs contrib
directory.
The idea with the trigger seems to be quite a good one though, I
guess even without precommit it should be possible to "scan" the list
of files to be checked in and remove the file. Or maybe one could do
a not-so-nice workaround with automatically checking out an older
version and then commit it with a forced revision number. I'd prefer
to do this in C++ too, but I'm afraid I will have to give my Perl
skills a try on that ;-)
Thanks a lot for your help,
Michael
Regards,
Arthur Barrett
===========================================
Michael Niegl, BSc.
University of Applied Sciences Wr. Neustadt
J. Gutenbergstr. 3, A-2700 Wr. Neustadt, Austria
Tel.: +43 2622-89084-298 Fax: +43 2622-89084-99
[EMAIL PROTECTED]
http://www.fhwn.ac.at/
CERN
PH/UAT/SCT Bat 161-1-020
CH-1211 Geneva 23, Switzerland
Tel: +41 22 76 73599 Fax: +41 22 76 77150
[EMAIL PROTECTED]
http://mniegl.web.cern.ch/mniegl/
===========================================