The establishment and configuration operations are in the face, version information is: Concurre This CVS executor can be done in Redhat Linux8.0. System NT Versions System (CVS) 1.1 When the client is used, it can also be used to build a CVS executor in / usr / bin 1.2 (Client / Server). The CVS source code library server with the system.
Establishing a source code base has the following steps:
(1) Initialize the CVS server environment.
#CVS -D / USR / local / source init
Then enter the / usr / local / s configuration file. Keep Ource for the time being, you can see a directory CVS. ROOT, below is the initial CVS service
(2) Put the CVS service into the xinetd system service.
First Generate Task Profile CVSPServer in the /etc/xinetd.d directory, file names can be used casually.
The content is approximately as follows:
Service CVSPServer
{
Flags = Reuse
Socket_type = stream
Wait = NO
User = root
Protocol = TCP
Server = / usr / bin / cvs
Server_args = -f - allow-root = / usr / local / source PServer
Disable = no
}
Where Server_args a parameter specifies the source code library path, one specified server uses a password authentication method.
Second, to confirm / etc / sercvspserver 2401 / tcp. Among the VICES files, there is a cvspserver keyword, and allocated ports, such as:
Third, restart the Xinetd service, the CVS service can be used.
(3) Test. Assuming the CVS server at 192.16linxu machine, perform the following commands to complete the test 8.0.205, there is a user CVS on the system. Log in to another:
$ export cvsroot =: pserver: cvs@192.168.0.205: 2401 / usr / local / source
$ cvs login
Enter your password, there is no error message indicating that the landing is successful.
If you want to be in a Linux system. Uniformly build multiple source code libraries, provide CVS services separately. Repeat the above steps.
Pay attention to using a different path when you first step first.
The second step is placed to the XINETD system file, such as CVSPSERVER1CVSPSERVER1, Server_args, for example: CVSPSERVER1 2402 service is slightly troublesome. / etc / xinet, the service name in the file must be a corresponding change. Also in / etc / servi / tcp. Restart the xinetd service. D. DCC Directory To generate a new task distribution first, such as the service ces file, join the new service port number
The third step test can be set like this:
$ export cvsroot =: pserver: cvs@192.168.0.205: 2402 / usr / local / source1
As a parallel version control system, multi-user OUT cannot be submitted. Sometimes I hope that the group on the CVS share a CVS, I hope that the member of the other group is needed. But sometimes I hope some users can only check some users can not check out some code, for example, and another CHECK OUT you can group code.
The CVS server has a user authentication mechanism that is a CVS server user. It is a user authentication mechanism that uses L. It is not an Inux group when I use, and the user permission has implemented this, but the user's direct functionality is used. For example, in the LINXU system 1, A-USER2, B-USER1, B-User, analog actual two development groups A, B, 2. Some user A-User, respectively
Module A-SOURCE, I hope A group members can order: read and write, B group members do not have any permissions. You can use the following series
#Chown -R A-User1 a-Source
#chgrp -r a a-source
#CHMOD -R 770 A-SOURCE
If you want the module A-Source limit, change the chmod command to -r 75, only A-USER1 can be written, the other 0 of the same group is. Users can read, group B members do not have any weight
Must be explained, the CVS is deflexor this user does not have a server configuration for the current module. Change to the directory that is not current limit. Modify the configuration file CV recognizes a user Checkout code, there is write permission, read is impossible. Mix the module directory to generate a lock file, lock the lock SROOT / CONFIG: generate a lock file under the current module, the above authority settings must be changed, and the CVS is set to a copy and write rights.
# Put CVS Lock Files in This Directory Rather Than Directly in the repository.
# LOCKDIR = / VAR / LOCK / CVS
It is possible to set LockDir.