:: MacCVSClient :: User Guide
  More Details
  This is a collection of tips and detail information about features or special characteristics of MacCVSClient.
  The Console Window

The console window shows messages explaining what happens during the CVS operations you run. You should check the console window while a CVS operation is running or after it has finished to see what kind of result you got.

During a CVS "update" command, you might e.g. find conflicts indicated there (you see these in the module window as well), or see that you have files in the way and CVS was not able to check a file out for you. These are only two examples. Just consider the console window the place to check your CVS operations outcome.

You can save the contents of the console window to a text file using the command "File/Save Console". The current console contents will then be saved to file "MacCVSClient Log" (or "MacCVSClient Log 2", etc. if there are files in the way) on your machine's desktop. Note that the console window never stores more than the last 2000 lines of console output.

  Info Windows

In MacCVSClient you can view file specific information about CVS controlled files in info windows. These are

As described in Handling Conflicts, the conflict windows can be opened for a file, if the last CVS update resulted in a conflict for that file.

Diff, annotation and log windows are available for a file after a CVS diff, CVS annotate or CVS log command has been executed for the file in question. MacCVSClient keeps log, annotation and diff data in temp files as long as possible.

That means diffs are deleted whenever the file is

  • updated and changes or
  • committed (and the repository changes) or
  • edited while having MacCVSClient in the background (and switch back to MacCVSClient).

Logs, annotations and diffs are deleted when the module window is closed. Logs, annotations and diffs can selectively be deleted using the "Info/Discard" commands. Note, that logs, annotations and diffs are not deleted on the CVS server. (How would you delete a diff from a server anyway?) Only the information temporarily cached by MacCVSClient is deleted.

In diff and conflict windows, "normal" text lines are displayed in grey text. "Special" lines like conflict markers, diff inserts, and diff removes are displayed in red or black to allow for easier recognition.

The first and the last of these special lines in a diff or a conflict window are marked with an 'F' and an 'L' respectively. So, when jumping from special line to special line using COMMAND-[ and COMMAND-], you can easily recognize, whether you're at the end of the interesting section of the window.

If there is only a single special line, that one is marked with an 'L' and no 'F' is there at all.

In the Preferences dialog you can specify that MacCVSClient automatically scrolls down to the first special line whenever you open a diff or conflict window.

  Error -47

When receiving file data from the CVS server, MacCVSClient uses a safe-save strategy to avoid data loss through machine crashes.

Sometimes, CVS complains it could not remove temp files because of -47 errors.This happens when you have a file open in an application (e.g. an editor) and MacCVSClient tries to update the file. You should avoid this situation by saving (and closing) all files of a sandbox before switching to MacCVSClinet to update or commit the files.

Suppose you have opened a CVSed file e.g. with your text editor and then run MacCVSClient on it. Now think of the case in which CVS updates your file with changes of your co-workers. Here, MacCVSClient updates the file and tries to delete the old copy. As it is still open in the editor, this fails with an error -47.

Then you switch back to the editor and go on editing. You are still editing your old version of the file. The new version (having been updated) is unknown to the text editor until you close and open the file again.

I doubt that every text editor (or other editing application) behaves this way. But I urge you to close all CVSed files in their editing applications before you run MacCVSClient on them. You risk hassle and data loss, if you don't.

And again: Just make sure to close edit windows of CVSed files in other applications before you use MacCVSClient on these files. This is very important. See also Other Applications on this issue.

  File Names

MacCVSClient supports file names of any length. On old systems (pre Mac OS 9) or new systems on old technology volume formats (HFS) that means file and folder names are limited to 31 characters in length.

On new systems and new technology file systems, i.e. HFS+ on Mac OS 9 and later, file names can be up to 255 characters long.

Colons (:) and slashes (/) are not allowed in file and folder names. This is to make sure both the CVS server on UNIX and MacCVSClient itself can address file paths properly. Space characters can be used in file names.

When MacCVSClient encounters a file that doesn't conform to this rules, it displays a warning in the console window and ignores the file (as it if was listed in .cvsignore).

  Dynamic Menus

From version 1.4 through to 1.7, MacCVSClient had used dynamic menus.

From version 1.8 onwards, all menus in MacCVSClient are static. This should be less confusing as all available commands are visible in all menus at any time.

  Graceful CVS Release

In MacCVSClient, the CVS release operation deletes a folder only, if it contains nothing but CVSed files. If there are any files not under CVS control in a folder, CVS release will only remove the CVSed files. It then leaves the folder and all remaining files.

I consider this a more reasonable behaviour than the normal CVS method of deleting everything.

Rev. 1.23 LegalCopyright © 1997-1998 Fontworks Ltd., © 2000 Jörg Bullmann