## 4. Summary of CvsGui commands

## 4.1 Cvs Main menu

Main cvs commands : Most of the time you will use only the update and commit commands.

### Update folder...

Merge recursively on your disk your changes with the cvs repository. Use "Commit folder..." to commit your changes INTO the cvs repository.

### Commit folder...

Commit your changes INTO the cvs repository. You may use "Update folder..." first to merge locally on your disk your changes with the cvs repository.

The no recursive option let you commit a folder without the sub-folders.

### Preferences...

Use this option to change settings like the CVSROOT, the read-only option, the TCP/IP compression and many other things...

### Command line...

Allows to enter a cvs command line (like "cvs rtags -b -r arev arevbranch") when ever the cvs command is not available thru the menus.

Note that you don't have necessary to specify a local directory. That's because some commands (like rtags) execute only on the server. For the most of the others commands, you need to specify where the command is executed.

### Checkout module...

Use this option to checkout from scratch a new module on your disk. You need to give the complete path of the module on the server : for example : "myprog/mysubfolder1/mysubfolder2"

The no recursive option let you commit a folder without the sub-folders.

### Import module...

Use this option to create a new module into the cvs repository located on the cvs server machine. After importing, you should use the "Checkout module..." command to start using this new module.

You need to give the complete path of the module on the server : for example : "myprog/mysubfolder1/finalPlaceForTheModule"

Refer to the explanation of the import problem ( Mac import or Windows import).

The vendor and release tags are usefull whenever you'll want to get back to the initial version or create a branch. Refer to the cvs documentation for more details.

### Login...

Use this option when you want to login for the first time to a cvs server machine. You should need to login ONLY if the kind of authentication in the preferences is "pserver" (password authenticate).

## 4.2 Cvs Files menu

Menu with cvs commands which apply on files.

### Update files...

Merge locally on your disk your changes and the changes of the cvs repository so you can use the "Commit files..." command to commit your change on the cvs server repository.

### Commit files...

Commit your changes into the cvs server repository. You may need first to "Update files..." in order to merge your changes with the cvs server before you can commit them.

### Diff files...

Show the difference between your files and the files located on the cvs server repository : this way you can check the changes with the remote server.

### Log files...

Ask the server to tell the history of the files (comments, revision number, tags and so on...)

### Add files...

Mark the files to be added to the master repository located on the server. These files will be really added AFTER you did commit them. In order to add files enclosed into a new folder, use the "Add folder..." option first on the folder.

(Windows only)

### Add binary files...

Same as the previous but add binary files.

### Remove files...

Mark the files to be removed from the master repository located on the server. These files will be really removed AFTER you did commit the folder where these files were located.

### Status files...

Ask the cvs server to tell the status of the files (changed locally, unchanged, current status, locks, and so on...).

### Cancel changes...

It is not a real cvs command but it's provided for convenience. This option will send to trash the files in the trash (you can on Macintosh use the "Put Away" option of the Finder to recover them) then will ask the cvs server to update these files.

## 4.3 Cvs Folder menu

The cvs commands which apply on a folder.

### Add a folder...

Whenever you add files to the repository, you need first to add the folders.

### Diff a folder...

Print the differences recursively with the cvs remote repository for all the files enclosed in the folder.

## 4.4 Preferences dialog

The cvs commands which apply on a folder.

### The CVSROOT field

It should be something like alexp@cvs.strata3d.com:/cvsroot. Never enter the ":pserver:" or ":kserver:" directly, use the radio buttons instead.

### Checkout read-only

Turn-on if you want the files created by MacCVS to appear locked in the finder.

### Prune empty directories

If On, this option will automatically remove empty folders when you update a module.

### TCP/IP compression

When this option is on, the server and MacCVS compress informations so they use less bandwidth : use only if you have a slow (modem) connection with the server because it causes the server to work much more.

### Quiet mode

If on, cause the command to be somewhat quiet; informational messages, such as reports of recursion through subdirectories, are suppressed.

### Control when adding files

Most of the errors using cvs are related to binary files. Since the client and the server usually convert the line feeds, it's important when you add a file to specify if you add a binary file or a text file. This option will help you to not make errors by parsing the file you add and check if it's a binary file, if the file has the good line feed for the machine and so on...

### ".rhosts" authentication

If On, the cvs server will authenticate MacCVS regarding the IP number of the machine running MacCVS : you should have a proper ".rhosts" file on the server account with an access 0600 which contains something like "192.10.10.37 alexp" or "alexpmac.strata3d.com alexp".

### ":pserver:" authentication

If On, the cvs server will authenticate MacCVS regarding a password located in the cvs administration file "passwd" on the server : you should have a proper entry for you in this file, something like "alexp:X5gFtdhaDke93j".

### ":kserver:" authentication

If On, the cvs server will authenticate MacCVS regarding a Kerberos authentication session. Refer to your adminstrator to know how to use Kerberos.

### Modify the server ports & name

Regarding the authentication you use (pserver, kserver...) you can change the default TCP ports and name cvs uses to reach the server. Refer to the cvs documentation for more details.

### ISO8559 translation on text files (Mac only)

If on, MacCvs will translate (only on text files) the mac characters encoding into a standard ISO8559_xxx encoding when it sends the file to the server. It will obviously translate back ISO8559_xxx characters encoding into the Mac encoding when getting a file from the server. This option is usefull if you use accentuations in text files because the accents will remain readable on others systems (Windows, Unix). Only ISO8559_1 Latin 1 (Western Europe) is implemented right now. Thanks to Jim Matthews to provide the ISO8559_1 table in the Fetch program.

### Use Internet Config for text files (Mac only)

MacCvs usually asks Internet Config, whenever it creates a binary file, the default type and creator signature for the file. So by using Internet Config, you can tell MacCvs that, for example, all the files ending by the extension .mcp have the file type/creator set to MMPr/CWIE. By using this option, you can extend this behaviour to the text files so you can for example map a type/creator for the .c, .h, .html...