More Details


This is a collection of tips and detail information about features or special characteristics of MacCVSClient.


Info Windows

Contents
Top

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 that diffs are deleted when 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

Contents
Top

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

Contents
Top

File names must not exceed 31 characters in length. Spaces, 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.

This naming restriction might be a bit conservative. Till now though, it hasn't been a source of major grief.

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

Contents
Top

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.

  • OPTION depressed while selecting the command: you get the usual dialog to enter parameters for the command in question.
  • No modifier key depressed: the command is run with standard parameters. This is like just pressing the OK button in the parameter dialog.

Graceful CVS Release

Contents
Top

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.


Contents
Top

Rev. 1.6 - Copyright © 1997-1998 Fontworks Ltd.