Heilan' Coo :: 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

  • Diff Windows
  • Log Windows
  • Conflict Windows

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 and log windows are available for a file after a CVS diff or CVS log command has been executed for the file in question. MacCVSClient keeps log 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 and diffs are deleted when the module window is closed. Logs and diffs can selectively be deleted using the "File/Forget/Diff" and "File/Forget/Log" functions. Note, that logs 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 is a tad annoying but normally not risky. In most cases it seems to be a harmless bug in a Mac OS toolbox routine, a library function (does fclose() properly close files opened with FSp_fopen()?), or MacCVSClient.

There is one occasion where it is a problem though. 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
 

File names must not exceed 31 characters in length. Colons and slashes are not allowed. 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.

This naming restriction might be a bit conservative. Till now though, it hasn't been a source of major grief. Let me know, if file names are an issue.

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 on, MacCVSClient uses dynamic menus. The "CVS" menu behaviour has changed because of that. Some CVS commands like e.g. update, diff, etc. now have two behaviours.

This functionality has changed in MacCVSClient 1.5 and later. The behaviour of the OPTION key is now exactly the opposite way:

  • No modifier key depressed while selecting the command: you get the usual dialog to enter parameters for the command in question.
  • OPTION depressed: the command is run with standard parameters. This is like just pressing the OK button in the parameter dialog
  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.13 Copyright © 1997-1998 Fontworks Ltd., © 2000 Jörg Bullmann