Monday, March 17, 2008

Useful Linkk for CVS

http://www.idevelopment.info/

Logging into CVS / Setting CVSROOT

Now let's cover what is possible the most difficult component of CVSNT and that is security and adding users. Please be aware that as I write this section of the documentation, I still have a tremendous amount to learn about security within CVSNT. I am only writing this section with what I know and how to get logged on using a local area network. If you are connecting your CVS repository to the Internet, please be aware that there are security problems with the :pserver: protocol. As I learn more about security with CVSNT, I will continue in updating this section of the documentation.



Using a Local Version of CVS

In some cases, you may be developing on the same machine as the CVS server. In this case, you can simply set the CVSROOT environment variable to the absolute path of the CVS Repository. For example:
C:\> set cvsroot=c:\cvsrepo\test    C:\> cvs ls -l -R    Listing modules on server    Directory CVSROOT    checkoutlist                   
1.1 Fri Jan 23 16:19:24 2004 commitinfo
1.1 Fri Jan 23 16:19:24 2004 config
1.1 Fri Jan 23 16:19:24 2004 cvsrc
1.1 Fri Jan 23 16:19:24 2004 cvswrappers
1.1 Fri Jan 23 16:19:24 2004 editinfo
1.1 Fri Jan 23 16:19:24 2004 historyinfo
1.1 Fri Jan 23 16:19:24 2004 loginfo
1.1 Fri Jan 23 16:19:24 2004 modules
1.1 Fri Jan 23 16:19:24 2004 notify
1.1 Fri Jan 23 16:19:24 2004 postcommit
1.1 Fri Jan 23 16:19:24 2004 rcsinfo
1.1 Fri Jan 23 16:19:24 2004 taginfo
1.1 Fri Jan 23 16:19:24 2004 verifymsg
1.1 Fri Jan 23 16:19:24 2004 Directory CVSROOT/Emptydir



Using the :pserver: Protocol
This section discusses how to add CVS users. Keep in mind that adding users to CVS is only required if you are using the :pserver: protocol. If your users are all on MS Windows PC's, this is not recommended since it has inherent security flaws. It would be better to use either SSPI or :ntserver: (keep in mind however that :ntserver: is being phased out now) because these protocols integrate much better with Windows NT. If you do plan on using the SSPI protocol, then you can skip this discussion of how to add and manage users.

To start, open a command window and do the following - (replace all items <text> with the real values from your system) :

C:\> set cvsroot=:pserver:<username>@<computername>:/TEST
The following example, I will loging to CVS using the :pserver: protocol. The CVS server is named bartman and my user name is jhunter. Keep in mind that I needed to first create the local user, jhunter, on the CVS host. (Which in this example is named bartman.)

C:\> set cvsroot=:pserver:jhunter@bartman:/TEST    C:\> cvs login  (Logging in to jhunter@bartman)  CVS password: *******

To logout of the CVS user, use the following:
C:\> cvs logout



Using Other Protocols

C:\> set cvsrot=:sspi:jhunter@bartman:/test    
C:\> cvs login CVS password:**********
C:\> cvs logout



C:\> set cvsrot=:local:jhunter@bartman:/test    
C:\> cvs login ( CVS password:**********
C:\> cvs logout

Thursday, March 13, 2008

Introduction to CVS

1. Introduction to CVS


CVS is a version control system, an important component of Source Configuration Management (SCM). Using it, you can record the history of sources files, and documents. It fills a similar role to the free software RCS, PRCS, and Aegis packages.

CVS is a production quality system in wide use around the world, including many free software projects.

While CVS stores individual file history in the same format as RCS, it offers the following significant advantages over RCS:



  • It can run scripts which you can supply to log CVS operations or enforce site-specific polices.

  • Client/server CVS enables developers scattered by geography or slow modems to function as a single team. The version history is stored on a single central server and the client machines have a copy of all the files that the developers are working on. Therefore, the network between the client and the server must be up to perform CVS operations (such as checkins or updates) but need not be up to edit or manipulate the current versions of the files. Clients can perform all the same operations which are available locally.

  • In cases where several developers or teams want to each maintain their own version of the files, because of geography and/or policy, CVS's vendor branches can import a version from another team (even if they don't use CVS), and then CVS can merge the changes from the vendor branch with the latest files if that is what is desired.

  • Unreserved checkouts, allowing more than one developer to work on the same files at the same time.

  • CVS provides a flexible modules database that provides a symbolic mapping of names to components of a larger software distribution. It applies names to collections of directories and files. A single command can manipulate the entire collection.

  • CVS servers run on most unix variants, and clients for Windows NT/95, OS/2 and VMS are also available. CVS will also operate in what is sometimes called server mode against local repositories on Windows 95/NT.