[ENH] See Your Changes

Jim Heyne jheyne at exobox.com
Wed Jun 7 11:57:32 UTC 2000


 <<JWH-MyChangeSets.000602 115338.cs.gz>> 
*** Resending with the [ENH] tag ***

Would you like to be able to see what you have changed at a glance? The
attached change set displays in BOLD the methods, classes, system
categories, and change sets which have been edited but not filed out.

There are other features (and a few warnings) described below.

The implementation is largely three chunks of work:

1)  I amended change sets so that they monitor delta changes (resetting
themselves when filed out). This is quite clean.

2)  I centralized management and broadcasts of changes. It is a good
start,
but should be refined when we have a real event system.

3)  I really mucked with mother nature to enforce highlighting of
changes in
the browsers, and sucking list updates out of the step loop. She didn't
seem
to mind. This will be more elegant when we have richer list widgets with
real objects behind them, and a real event system.

I (and others) have been using this for months.

Please read the following fine print, then enjoy.

----------------------
Change Set:		JWH-MyChangeSets
Date:			15 May 2000 
Author:			Jim Heyne 
			jheyne at exobox.com

Requires 28a. Useful in Morphic; benign in MVC.

This code helps you manage your personal change sets. 

* Your changes are highlighted in the browsers (with bold text) until
you
file them out. 
* When starting the image, you will be advised if a more recent version
of
one of 'your' change sets is available. To load the newer version,
simply
click on the red message. To identify which change sets are affected,
wave
the mouse over the message to see balloon help. [For best results,
disable
Preferences changeSetVersionNumbers (under fileout tab).]

'Your' change sets are identified via a naming convention: any change
sets
with names beginning with the author's initials (followed by a dash) are
presumed to be the author's change sets. For example, my change sets
begin
with 'JWH-'.

Other features: 

*  Browser updating is taken out of the step loop. Browsers are only
updated
when a change actually occurs. This means your system no longer slows to
a
crawl as you open dozens of browsers. [Someday, we can update via a real
event system. But not yet.]
*  Choose and load one of the author's change sets which is not
currently
loaded (via the personal menu)
*  File out all of the author's change sets. If you quit via the World
menu,
you will be advised if there are unsaved changes. If you simply close
the
Squeak window, you will not be warned!!
*  Archive old versions of the author's change sets (this puts them in a
sub-directory called 'My Change Sets Backup'
*  Plumbing is in place to file out deltas (recent edits within a change
set). This will enable change sets to be used to manage Squeak
subsystems.
[Forthcoming enhancement]
*  You can specify prerequisite change sets. Prerequisites will be
automatically loaded (if found locally). In your change set's preamble
use 
       AssetManager prerequisite: 'requiredChangeSetName'.

Advisories:

For your convenience, several options are added to your personal menu.
If
this clobbers options you have added, simply revert to the previous
version
and make any adjustments. [This will end if Steve Wessel's personal menu
work is deployed.]

You may be prompted to enter author's initials (if not yet defined) when
filing in because some stub methods are put into place to support the
transition to the new mechanism.

I patched the new DragNDrop stuff so that changes to method categories
are
logged.

For best results [I repeat!!], disable Preferences
changeSetVersionNumbers
(under fileout tab).

Flaws:

When changes are registered in one change set, then moved to another,
then
the second change set is filed out, those methods still show in BOLD
because
references to their changes remain in the original change set. This is
kind
of a feature, nevertheless, it is disconcerting (and may change in the
future).


 <<JWH-MyChangeSets.000602 115338.cs.gz>> 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: JWH-MyChangeSets.000602 115338.cs.gz
Type: application/octet-stream
Size: 15439 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20000607/3d78d9d5/JWH-MyChangeSets.000602115338.cs.obj


More information about the Squeak-dev mailing list