[GOODIE] ConflictChecker-dew

Doug Way dway at riskmetrics.com
Tue Oct 9 05:27:06 UTC 2001


This is a utility I wrote while harvesting older changesets.  It checks
older changesets for conflicts with more recent updates to the image,
and displays its results in a Transcript.  Very handy for finding the
obvious problems in bringing old changesets up-to-date with a current
image.

As an example, here's some output from a changeset from 3.1alpha-3960
(several month ago, http://swiki.gsug.org:8080/sqfixes/1541.html),
tested in a current 3.2alpha-4418 image:

Checking PrefNotificationChanges-nk.cs (#3960) for conflicts with more
recent method versions...
 ...checking Preferences
class>>setNotificationParametersForStandardPreferences (which replaces
an existing method)
 CONFLICT found for Preferences
class>>setNotificationParametersForStandardPreferences with newer
changesets 3991flapRefactoring-sw 4208UniTile-tk 4264VectorPlayer-tk
4340vocabRefactor-sw
 ...checking Preference>>togglePreferenceValue (which replaces an
existing method)
 ...checking Preference>>changeInformee (which replaces an existing
method)
 ...checking Preference>>notifyInformeeOfChange (which replaces an
existing method)
 ...checking Preference>>changeInformee:changeSelector: (which replaces
an existing method)
 ...checking Preference>>preferenceValue: (which replaces an existing
method)
 ...checking
Preference>>name:defaultValue:helpString:localToProject:categoryList:cha
ngeInformee:changeSelector: (which replaces an existing method)
1 conflict found.

This changeset had 11 methods.  The conflict-checker noted that it has 7
methods which override existing system methods (useful to know), and
showed one method as having a conflict with updates since #3960.

Generally, you should use a reasonably fresh image to do this, and it
should have update-changesets going as far back as possible (at least as
far back as the changeset you want to test).  (Most current alpha images
should have changesets going back to 3.0, which is far enough for most
things.  I actually have a 2.8 image I've kept around which I've updated
to 3.2alpha, which is nice.  I tried creating a 3.2a jumbo-changes image
with updates starting at 2.6, but then I ran into the 32 meg limit on
the changes file.

(While reviewing SQFIXES, I notice that Michael Rueger and Gerardo
Richarte wrote goodies last year which attempt to address the same
problem, but I think mine goes the farthest at this point. :) )

from preamble:

"Change Set:		ConflictChecker-dew
Date:			8 October 2001
Author:			Doug Way

Adds a 'conflicts with updated methods' menu in the FileList window
which lets you check an older .cs/.st file for conflicts with methods
from more recent update-changesets in your image.  Displays its output
in a Transcript.  (It uses the latest update # from the .cs/.st file
header as a basis for comparison.)"
!
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ConflictChecker-dew.cs.gz
Type: application/octet-stream
Size: 2587 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20011008/55409768/ConflictChecker-dew.cs.obj


More information about the Squeak-dev mailing list