CWProjector Release Notes

Index


3.2

In this build I have been making some internal reorganization of the code to support a Contextual Menu plugin I am writing. There should be no impact on the CW plugin itself.

When 3.1 came out I forgot to enable Difference for old versions of the IDE. This has been fixed and TEXT differences are now rerouted to a BBEdit helper applet (this will also be the default for the CMM module.)

I have mucked around a bit with the mounting code to make sure that projects are always mounted, but with a minimum of time hit. I've been tesing this over a slow AppleShare IP connection and it seems to be both tolerable and robust now.

There are serious linkage errors in the Metrowerks 68K callback libraries which means that the 68K code has not worked for some time now. The only solution I have been able to come up with is to make the 68K code into a Code Fragment and link against PluginLib4. This should work with IDE 3.0 and later.

Versions numbering is now being done in a more rational way: Major revisions indicate file format changes (in our case, operions settings); Minor revisions indicate new features; Fix revisions are only bug fixes. This revision has both bug fixes and new features so it is 3.2.

Change history:

Return to the Index.


3.1.1

Change history:

Return to the Index.


3.1

Change history:

Return to the Index.


3.1b1

Escaped strings coming back from SourceServer were being parsed in an ad hoc manner. This has been fixed, and file revisions like "what's new,12" (which are returned as 'what'<opt-d>'' new,12') are now unmunged correctly in the dialogs.

I have taken advantage of the compare suite in Resourcerer version 2.2 to implement helper applications in the Difference command. The CTM# resource number 16260 has the mappings from file types to helper applications, and if you want to redirect specific file types to a specific helper applications, feel free to edit this resource. The application must support the Resourcerer compare suite; if not, you may have to write a small applet.

Change history:

Return to the Index.


3.0

We are now web-savvy! The registration dialog has a link to the Kagi registration page and the about box has a link to the online download page.

Change history:

Return to the Index.


3.0b2

I got tired of having to go to the Recursive Get command to find out what labels were defined, so now the Regular (non-dialog) Recursive Label command lists all the labels for the project. If NameRevisions had a simple way to make a file-by-file query, I'd put that in too, but so far no luck. This means that to label a build you must now hold down the option key when choosing Recursive Label. I know that this is changing a behavior, but the new behavior is read-only so I am willing to live with it.

Change history:

Return to the Index.


3.0b1

An intermittent problem involving resource fork opening and closing has been resolved. The symptoms involved erratic default behavior of commands and garbage initialization for the corresponding dialogs.

Change history:

Return to the Index.


3.0a4

With this release we are once again backwards compatible to IDE version 1.7.4 (and even Lite 3.0!), with two small caveats. The first is that Difference is only available for IDE 3.0 and later and the second is that it is only available before IDE 3.2 if the enclosed PluginLib4 library is placed next to the IDE.

Checkin revision names are now supported in the Checkin command and Header Comments also tracks the new revision specifications.

Change history:

Return to the Index.


3.0a3

The big change for this release is the new CWProjector Options preferences panel. This will allow you to configure the default settings for each command. The defaults are the options used for the regular versions of the commands for the initial state of the Advanced command dialogs. Some of these options are dangerous (e.g. the branch settings) so only mess with them if you know what you are doing.

I forgot about the files only (no projects) and short listing options for ProjectInfo so they are now there for completeness. Note that using short listing for history is legal, but pointless. Files only is ignored by SourceServer for recursive operations, so I have left it out of the recursive dialog.

Change history:

Return to the Index.


3.0a2

Headers used to be detected by an almost exact match to the CWProjector header. Now we just try to find a header that looks like the Comm 16001 resource. The current Comm 16001 resource just contains the comment start line and the change history line.

The Properties and History commands are now fully functional, with dialogs for specifying all file-related options to the ProjectInfo command and an option in the Advanced command for sticking the result into a single window. Status now has this last option as well.

The Label command used to label only the latest revision of a file that had been checked in. The new version will allow you to label the actual revisions that you have on disk. You may now also replace an existing label and specify that the label be dynamic (i.e. track the latest revision).

My partner wore me down and I have implemented Recursive Checkout. This is not the same as Projector's CheckOut -r because we have to insert header comments in all the files, so a tree walk is done instead.

Change history:

Return to the Index.


3.0a1


The Purge command (both regular and recursive) is now mapped to OrphanFiles. This is extremely useful for doing import/export operations. To aid in import operations, the Add command now detects the existence of a file header and give the option to reuse it. The Get command now works on individual files even if the file is missing or orphaned (no 'ckid' resource).

Support for Task Names is much improved. When adding and checking out, task names are reused in the dialogs, making it easy to do several checkouts/adds for the same task. When checking in, the default task name is the one in the ckid resource. The Comment command now has an advanced version that changes the task name of the file.

One of the invisible changes involves converting the command handlers to C++. The base class implements generic recursion, which made it quite easy to implement recursive versions of most of the commands. There are now recursive versions of the Undo Checkout, Checkin, Difference and Comment commands which act as if you had selected all checked out/MRO files in the IDE and issued the command. I also mapped Advanced Recursive Status to displaying only the files that are checked out or MRO - a simple way to determine what files you have modified.


Change history:

Return to the Index.


2.0.3


Recursive Get's menu of NameRevisions was not retrieving all revisions as the -r option was not specified. The list is now complete and sorted.

Change history:

Return to the Index.


2.0.2


Undo Checkout was not specifying the correct version of a file to cancel checkout on unless the checkout was a new branch. Instead, it would always cancel checkout on the main trunk, which could be very surprising for the user who actually had that branch checked out! Unless you are part of a large project where users are checking out main trunk code and branch files simultaneously, you would not have been affected by this problem.

There was also a small problem with the Finder Labels menus in the VCS Comments panel. Due to some symmetries and a layout reversal, the only configuration that would work correctly was the shipping one.

Change history:

Return to the Index.


2.0.1

There were about five interacting bugs in the header comments code, all triggered by modifications made recently to handle branches correctly. Four of them were benign, ranging from silly to annoying, but one was capable of causing serious problems. The silly bug was that some of the header comments code was being used even when they were turned off, but it meant that the serious bug could still cause crashes even when header comments were turned off! This has all been fixed.

Change history:

Return to the Index.


2.0

Change history:

Return to the Index.


2.0b5


There have been several requests to allow the Finder Label feature to be customized or turned off. The new VCSComments preferences panel v2.0b3 now has a check box to disable the labels and four popup menus to choose the labels. CWProjector now reads and honors those settings.

Change history:

Return to the Index.


2.0b4


Automated configuration is a common request. While the panel was in fact scriptable, there was a bug in the script parsing which would truncate the first character of the initials and copyright fields. The panel is now at version 2.0b2.

Change history:

Return to the Index.


2.0b3


The Status command is now the Properties command, and Status has been changed to display the contents of the ckid resource for the file.

The Checkout command now allows you to check out any version of a file. The Undo Checkout command has been modified to handle this, as has the header comments feature. Comments will now appear with the correct branch numbers.

Change history:

Return to the Index.


2.0b2


Most of the feedback from 2.0b1 involved documentation clarifications.

Change history:

Return to the Index.


2.0b1


Most of the changes in this release are cosmetic - making the dialogs match the IDE and so forth.

Change history:

Return to the Index.


2.0a2

The big feature in this release is the ability to create missing Projector databases on the fly. In the past, databases and subdatabases had to be created manually in MPW, which could lead to confusion as SourceServer would not be aware of the new databases. Now, whenever a database is missing, you will be asked whether you wish to create it. This includes the top-level database, so all you need to do now is to create an empty folder where you want the main database to be, before connecting for the first time.

Change history:

Return to the Index.


2.0a1

Change history:


Return to the Index.


1.0.1

Change history:


Return to the Index.


1.0

Change history:


Return to the Index.


1.0b2

Change history:


Return to the Index.


1.0b1

Change history:


Return to the Index.


This page was last updated on 1 June 1999 by Richard Wesley.
Copyright © 1997-9 by Electric Fish, Inc. All rights reserved.