Discussion:
file permission by using cvs watch and cvs edit mode
BERNARD GRANGER Fabrice 237671
2013-04-09 07:23:52 UTC
Permalink
Hello,

I am setting a CVS architecture for my development.
Multiple users should access (read and modification) to the same wordking directory.
So to prevent bad usage of files (anarchic modification or delete) I set the restriction by using cvs watch on and then cvs edit .
The behavior is fine, except the file permission modification.
Indeed the original file is 755 then after performing cvs watch on on it, after the first commit it becomes 550
Here are my commands
76 8:40 touch toto
78 8:46 chmod 755 toto  toto is 755
80 8:47 cvs add toto
82 8:47 cvs commit
84 8:48 cvs status
86 8:48 n toto
87 8:48 cvs commit -m "add test line" toto
89 8:49 cvs watch on toto
92 8:50 cvs commit -m "test 2" toto
93 8:50 l l toto is 550

My UMASK is 007.
I done another test with titi file with permission 775, the result is the same it become 550.
As my file should be executable for the groups, this is a problem for me.

Is this behavior is expected ?

Regards,


Fabrice

________________________________
Fabrice BERNARD-GRANGER, Ph.D
Spintronic Design Flow Architect
Spintec Lab
CEA - DSM / INAC
17 rue des Martyrs
Arthur Barrett
2013-04-10 00:03:19 UTC
Permalink
Fabrice,

The behaviour depends partially on the version of the client and the server.

CVSNT (CVS 2.x - runs on linux/unix/mac/windows) stores the 'mode' in the RCS file, but older version of CVS do not store the 'mode', but set the 'mode' of the file on the client to the same 'mode' as the RCS file on the server (at least the execute bit).

Some clients use the 'mode' the server sends to the client, but I've seen some clients just ignore it altogether.

If you want to share a sandbox I strongly recommend using CVSNT because it includes features specificially to support this and it could be argued that sharing a sandbox is discouraged by CVS 1.x.

Eg: in CVS 1.x you can 'skip' the 'cvs edit' and just do 'chmod 660' then change the file and commit it. With CVSNT if the file is marked as requireing 'edit' then the 'commit' fails if it has not already been 'editied'. On windows there is also a 'cvs edit -A' option that sets an ACL on the file so that only the person who 'edited' the file has write permissions (in the sandbox). We'd be happy to add this feature if the version of linux/unix you are using supports ACL's on files in the 'home' filesystem.

CVSNT also includes native ACL's and many more features that you may find useful.

Regards,


Arthur Barrett
-----Original Message-----
org] On Behalf Of BERNARD GRANGER Fabrice 237671
Sent: 09 April 2013 17:24
Subject: file permission by using cvs watch and cvs edit mode
Hello,
I am setting a CVS architecture for my development.
Multiple users should access (read and modification) to the
same wordking directory.
So to prevent bad usage of files (anarchic modification or
delete) I set the restriction by using cvs watch on and then
cvs edit .
The behavior is fine, except the file permission modification.
Indeed the original file is 755 then after performing cvs
watch on on it, after the first commit it becomes 550
Here are my commands
76 8:40 touch toto
78 8:46 chmod 755 toto à toto is 755
80 8:47 cvs add toto
82 8:47 cvs commit
84 8:48 cvs status
86 8:48 n toto
87 8:48 cvs commit -m "add test line" toto
89 8:49 cvs watch on toto
92 8:50 cvs commit -m "test 2" toto
93 8:50 l là toto is 550
My UMASK is 007.
I done another test with titi file with permission 775, the
result is the same it become 550.
As my file should be executable for the groups, this is a
problem for me.
Is this behavior is expected ?
Regards,
Fabrice
________________________________
Fabrice BERNARD-GRANGER, Ph.D
Spintronic Design Flow Architect
Spintec Lab
CEA - DSM / INAC
17 rue des Martyrs
38054 GRENOBLE Cedex 9
Loading...