In aclconfig I have:
CVSACLDefaultPermissions=n
In access file I have many single files listed - all with the same name - info.txt, but in a different directories:
f:Projects/info.txt:HEAD:user!wcd:
f:Projects/Project1/info.txt:HEAD:user!wcd:
f:Projects/Project1/Documentation/info.txt:HEAD:user!wcd:
f:Projects/Project1/src/info.txt:HEAD:programmer!wcd:
f:Projects/Project2/info.txt:HEAD:user!wcd:
f:Projects/Project2/Documentation/info.txt:HEAD:user!wcd:
f:Projects/Project2/src/info.txt:HEAD:programmer!wcd:
f:Projects/Application/info.txt:HEAD:user!wcd:
f:Projects/Application/Documentation/info.txt:HEAD:user!wcd:
f:Projects/Application/src/info.txt:HEAD:programmer!wcd:
...
...
...
Now I login to remote repository using username "user" and do:
cvs co -P Projects/
but no all the info.txt files are beeing downloaded - in most of them I get access denied error - and as you see everything is properly configured.
I use: cvs-1.11.22-cvsacl-1.2.5-patched
Trying to to find out what is wrong I noticed that after putting usecache = 0; in acl.c before this code
if (usecache
&& cache_repository != NULL
&& strcmp (cache_repository, repository) == 0
&& !founddeniedfile
&& perm == cache_perm)
return (cache_retval);
the problem disappears. So the code must be wrong I think?
Logged In: NO
I confirm! I have got the same problem. In my case 'usecache = 0;' causing problems (Slackware 12.0) so i can't solve it in that way.
The problem is only with files (f: entries) in access file - I have not noticed it with directories.
CVSACLDefaultPermissions=n
^^^^^^^^
this didn't work to me so I had to place: d:ALL:ALL:user!n: in my access file.
In access file:
# CVS ACL definitions file. DO NOT EDIT MANUALLY
d:ALL:ALL:user!n:
f:Project1/TEST/tpn_89.jpg:ALL:user!wcd:
And after:
cvs co Project1:
(...)
cvs checkout: permission denied for Project1/TEST/tpn_87.jpg
cvs checkout: permission denied for Project1/TEST/tpn_88.jpg
cvs checkout: permission denied for Project1/TEST/tpn_89.jpg <----- problem!
cvs checkout: permission denied for Project1/TEST/tpn_90.jpg
cvs checkout: permission denied for Project1/TEST/tpn_91.jpg
(...)
but after:
$ cvs co -P Project1/TEST/tpn_89.jpg
U Project1/TEST/tpn_89.jpg
I don't have "permission denied". So this is a BUG I think.
I also think that this code (acl.c) should be checked in case of memory leaks - maybe valgrind? I'm not C programmer so I can't help.