Heilan' Coo :: MacCVSClient :: User Guide
  Getting Started with MacCVSClient
 

You find basic concepts of MacCVSClient here. As MacCVSClient has no command line based interface, there are some differences in operating MacCVSClient compared to other CVS clients. Check this short CVS bibliography for more general information.

  Getting a Working Copy
 

Let's assume you have set up a login profile and would like to check out a working copy of a project form that according server.

Use the "CVS/Check Out" menu entry to check out a directory of source files. The "CVS Check Out" dialog will show up. The fields should be self explanatory.

 
  Have a look at the check out dialog box above. In the "Login" popup menu, the login profile "Home" is selected and specifies all information related to the "identity" on the CVS server that we want to connect to. Supposing there is a source module MacCVSClient in the CVS repository specified in the selected login profile, pressing OK will create the folder "MacCVSClient" in "Hulot:Data" and fill it with the module's contents.
  Opening a Working Copy
 

You have just checked out a folder. How do you commit stuff, have a look at diffs, etc.? First thing is: open the checked out module.

The easiest way to do this is to locate the checked out module folder in the finder and drop it onto the icon of the MacCVSClient application (or an alias pointing to it).

Alternatively you can use the "File/Open" menu entry. A dialog to open a folder will show up. Find and select the the main module folder of the module you want to work with.

 
  Press the "Open" button to step into a folder and the "Select ..." button to select the current or selected folder and finish the dialog.
  The Module Window
  Look at this example module window.
 
 

In the status area of the window, you find the authentication/CVS server information that was used to check out this working copy.

Below that, the local working folder location ("Folder:") and some statistics about the files in the module are displayed.

The "Folder:" shows one of two paths:

  1. If some entries in the module window are selected and all selected entries are located in the same (sub) folder, the path to this folder is displayed in italics.
  2. If there is no selection or the selected items are spread over different folders, the path to the main CVS module directory of this working copy is displayed in normal text.

In the module window's main area, a single line (for a single CVS entry) contains the following information.

  1. Status flags.
  2. File/Folder Name.
  3. File Storage Format. See also: Storage Formats.
  4. Sizes of data fork and resource fork in bytes.
  5. Modification date and time of the file.
  6. The file's CVS revision number.
  7. Sticky options, if any.
  8. Sticky Tag/Date information, if any.

How can such a CVS entry look like?

Unknown
Marked with a '?' in the first column, drawn in light grey. These files are new and are not under CVS control.
Modified or Locally Changed
Marked with a bullet, drawn in red. These files have been changed locally and need to be committed.
Lost
Marked with an 'L', drawn in red. These files are missing in the Mac folder. MacCVSClient has found a CVS entry for those files but the file itself is missing.
Conflict
Marked with a bullet and a 'C', these files contain conflicts.
Normal
Unmarked, drawn in black.
Other CVS Folder
Marked with a '!' in the first column, drawn in light grey. Such a folder has been checked out using a different Login Profile than its surrounding folder. Thus, it can't be opened and worked with as subfolder. To access it, open it in a separate module window.

Some CVS commands like diff or log produce file specific output. If one of those commands is executed on a file, the corresponding output is stored. This output can be viewed in MacCVSClient as described later.

In case there is such file specific output available for a file, this is indicated in the status flag area of the file:

Diff Output
Indicated by the Greek letter delta.
Log Output
Indicated by the ® sign.

A folder entry shows how many files in it are Lost, Modified, etc.. If the folder itself contains subfolders, number pairs "A/B" will be shown instead of single numbers. Here, A is the number of files Lost, Modified, etc. in the folder itself and B for the folder and all its subfolders.

If a module is defined in the CVS modules database, it may not have a real module folder in the CVS repository. In a checked out module, all folders defined in the modules database and not having a real folder in the CVS repository are marked by a small cross just next to the module name on the right.

  File Filtering
 

If you have modules with many files, you sometimes do not want to see all of them. You might be interested only in e.g. locally changed files or unknown files. Or you might want to see only files that match a certain name pattern.

Use the commands "Special/Filter Files" and "Special/Filter File Settings...".

 
 

The picture above shows the same module as before in the same state. This time, file filtering is activated and both locally modified and unknown files are displayed. All other files are suppressed. Bear in mind that filtering affects only the display in the module window, no file or folder is deleted at all.

When a folder is displayed with filtering switched on and not all the folder's files are displayed, the folder is called "Partial Folder" in the module window. If you select this folder and run a CVS command like "CVS/Update" on it, the command is run on the whole folder. In the "CVS/Update" case, all files in the folder would be updated and not only the few files that are displayed.

  Module Window Auto Refresh
 

When you switch away from MacCVSClient to another application or the finder to do other work there and then switch back, MacCVSClient automatically refreshes the cached states and modification dates of the files in the currently opened CVS Modules. This refresh operation can take some seconds depending on size of the module folders and speed of the machine.

As an example, to refresh a project of about 300 files on a 7300/200 Mac's local disk takes about two seconds.

So when you're in the finder or another application and then switch to MacCVSClient, there will be a short delay if you have open module windows in MacCVSClient.

  Other Applications
 

While working with MacCVSClient, you should make sure that none of the files that are (or might be) in use by MacCVSClient is currently in use by another application. It is evident that if you have e.g. a file opened in CWIE or BBEdit while updating it in MacCVSClient you might lose data.

My recommendation therefore is to e.g. close all editing windows in your text editor(s) before switching to MacCVSClient. This is nothing special to MacCVSClient but a general principle to obey when working with different applications on the same files ALMOST at the same time.

See also: Error -47.

Rev. 1.33 Copyright © 1997-1998 Fontworks Ltd., © 2000 Jörg Bullmann