CVS represents a collaborative version of the system; this is a system that puts a set of files in the hierarchy tree to keep synchronous systems. People can update their local hierarchy copies from the CVS server and send the modified result or new file; or delete the old file. CVS based on client / server behavior makes it easy to accommodate multiple users, and it is convenient to constitute a network. This feature allows CVS to become the first choice when people in different locations have handled data files (especially the source code of the program). All important free software items use CVS as a central point between its programmers to integrate the improvements and changes to each programmer. These items include: GNome, KDE, The GIMP, WINE, and more. Therefore, it is naturally, Mandrakesoft also uses CVS as its own development management platform.
Below is my own steps I have in configuring CVS servers and clients, I hope to save time, one-step to position ^ - ^ Configure the server's full steps as follows: 1: I use Linux redhat9.02: CVS user group GroupAdd CVS3. Creating CVSRoot users and catalogs for CVS groups UserAdd -g cvs -g cvs -d / home / cvsroot cvsroot4: Add password for cvsroot users Passwd cvsroot5: Change / Home / CVSRoot directory properties chmod 775 / Home / cvsroot6 : Initialize the CVS source library, this operation generates directory / home / cvsroot / cvsroot, under the initialization file cvs -d / home / cvsRoot init7: Create a user and password that can log in to CVS services, you need to create file passwdvi / home / cvsroot / Cvsroot / passwd file content is as follows: Steven: XXXXX: CVSROOT8.XXXXXX is a password, generated by the following file: vi /Home/cvsroot/passwdgen.pl file content: #! / Usr / bin / perl srand (time ()); MY $ RANDLETTER = "(INT (rD (26)) (INT (Rand (1) .5)% 2? 65: 97))"; My $ SALT = Sprintf ("% C% C", Eval $ Randletter, Eval $ Randletter; My $ plaintext = shift; my $ crypttext = crypt ($ plaintext, $ salt); Print "$ {crypttext} / n"; 9. If you need your password to: Some, type: Passwdgen .pl "some" Enter the encrypted password, use it to replace the xxxxxx 10 in the passwd file. Join the CVS service (my redhath9 has a CVS service, so no added) VI / etc / servicecvspserver 2401 / tcp # PServer CVS ServiceCvspServer 2401 / UDP #pserver CVS Service 11.CVS service is evoiled by inted, so you need to change the service provided by inetd, and my redhat is in inetd method in file / etc / inetd.conf Add the following: CVSPSERVER STREAM TCP NOWAIT ROOT / USR / BIN / CVS CVS - Allow-Root = / Home / CVSROOT PSERVER My RedHat9 uses xinetd, adding needs in the xinetd.d directory Started service: cd /etc/xinetd.dvi CVSPSERVER file content: service cvspserver {disable = no flags = reuse socket_type = stream wait = Nouser = rootserver = / usr / bin / cvsserver_args = -f - allow-root = / home / cvsroot pserverlog_on_failure = userid} 12. Restart inetd or xinetd: /etc/rc.d/init.d/xinetd Restart 13. Check if the CVSPServer service has started netstat -l | grep cvspserver results as follows: TCP 0 0 *: CVSPSERVER *: * LISTEN
All the above results are passed, but in my client (redhat9), the CVS -D: PServer: Steven@192.168.211.72: / home / cvsroot login Enter the password, return Connection Confuse information patch: CVS -D: PServer: Steven @ 192.168.211.72: / home / cvsroot login Enter the password, no message, that is, it means success ^ _ ^ no news is a good news !! In the client, set the environment variable as follows: Export CVS_RSH = SSHEXPORT CVSROOT =: PSERVER: UserName @ ip: / home / cvsroot You can Echo $ CVS_RSHSSHECHO $ CVSROOT: PSERVER: username @ ip: / home / cvsroot, you can directly enter CVS login directly in the client, you can directly CVS Command.
Posted on 2004 August 20, 9:59 AM