Novell Home

Diff CVS

From Developer Community

Browse the CVS Tree

Browsing the CVS tree gives you a great view into the current status of this project's code. You may also view the complete histories of any file in the repository.

Search CVS (beta)

Server Fingerprints

RSA fingerprint: 61:ca:51:80:c4:57:17:5b:95:b3:80:83:31:3b:d9:fa
DSA: fingerprint: b1:a6:97:df:f8:6c:bd:60:61:6c:39:ad:7e:95:57:c1

Secure CVS

Before you can access this project's CVS repository, you must have SSH (Secure Shell) installed on your machine and the CVS tools you have installed must be configured to use SSH when communicating with the CVS server. On Linux this can be done by simply exporting the CVS_RSH environment variable:

export CVS_RSH=ssh

CVS Server Public Key Authentication

All CVS operations performed on Novell Forge hosted projects are done over an SSH connection. When making an SSH connection to any server, by default the user is required to enter a password for authentication. This requirement makes it hard to automate CVS commands within build scripts. Novell Forge allows for SSH public-key authentication that alleviates this problem. With public-key authentication, the user generates a private/public key pair using an SSH-compatible key generation tool, adds the public key to their account profile and configures their SSH client software to use the private key for future connections to the CVS server. The private/public key pair is specific to the machine it is generated on and to the user who generated it, so you may find it desirable to configure all your development machines for public key authentication. Novell Forge facilitates this by allowing you to enter multiple public keys per user account. You can upload you public keys from your account page.

Anonymous CVS Access

If you are not a registered developer on this project, you can still check-out all of the files in the CVS repository for this project through anonymous access. This can be done with the following command:

cvs -z3 -d:ext:anonymous@forgecvs1.novell.com:/cvsroot/diff co modulename  

The module you wish to check out must be specified as modulename. When prompted for the password, simply enter "anonymous".

Developer CVS Access

If you are a registered developer of the jnf project, you may use all of the functionality provided by CVS. For the full documentation on CVS, you can visit their site at http://ximbiot.com/cvs/wiki/.

Keep in mind that whenever you issue any CVS command on your project's CVS repository, you will be required to enter your site password.

The most common things you will be doing with CVS are importing your project, checking it out, updating your local copy with the repository and checking in.

If your project's files are not yet in CVS, you must start with the CVS import. To do this, you should change to the topmost directory of your project's files and enter something like the following:

cvs -z3 -d:ext:username@forgecvs1.novell.com:/cvsroot/diff import -m "Init msg" rootdirname vendor starttag

In the above command, we are telling CVS to create the directory ./rootdirname in the project's CVS repository and copy everything from the current directory and any sub-directories into it. The "Init msg", vendor and starttag can be any text you like. The "Init msg" is used to specify a message that will be associated with the import. vendor is used to specify the company that owns the project. starttag is the CVS tag name that will be associated with the import

Once the project has been imported, you can do the check-out, update and check-in operations anytime you deem it appropriate.

Now you can get your own private copy of all the project files in CVS by doing a check-out. You can do this with the following command:

cvs -z3 -d:ext:username@forgecvs1.novell.com:/cvsroot/diff co modulename

modulename would be replace with the value you used for the ./rootdirname parameter when doing the import.

The CVS update command is used for downloading all changes that have been made to files in the CVS repository to your local copy. If another developer has changed a file that you have also changed in your local copy, the changes will be merged together. Sometimes a merge is required but cannot be completed. This condition produces a conflict. If there are any conflicts during the update process, they will appear in the output of the command. Under almost all conditions, an update operation must be performed before a check-in operation. If you check-in before doing an update, you run the risk of overwriting someone else's changes! To perform a CVS update, you should change to the root directory of your local copy of the project files and issue the following command:

cvs -z3 -d:ext:username@forgecvs1.novell.com:/cvsroot/diff update

At some point in time, you will want to check-in the changes that you have made to your local copy of the project files. This is a multi-phased process that should be as follows:

  • Do a CVS update operation (described above).
  • Fix any problems that may have surfaced from the update, such as failed merges (conflicts), etc...
  • Do the actual CVS check-in operation

When you are ready to do the CVS check-in, change to any directory in your local copy of the project files and issue the following command:

cvs -z3 -d:ext:username@forgecvs1.novell.com:/cvsroot/diff commit

This will check-in all changes in the current directory and any of it's sub-directories.

Again, CVS has much more functionality than what is described here. We encorage you to check out the documentation on their site: http://ximbiot.com/cvs/wiki/.

Secure CVS on Windows with TortoiseCVS

TortoiseCVS gives you the ability to perform CVS functions directly from Windows Explorer. You can check out, update, commit, see diffs and so forth by right clicking on the file or folder. You can download TortoiseCVS from their website as http://www.tortoisecvs.org/. It is easy to install and use, and it works very well.

Novell® Making IT Work As One

© 2008 Novell, Inc. All Rights Reserved.