[GOODIE] ConflictChecker-dew

Doug Way dway at riskmetrics.com
Wed Oct 10 04:35:43 UTC 2001


There is a little bit of overlap in our goodies.  Mine does detect the "replacing" methods in a changeset as your does.

Your goodie is more useful in terms of moving these replacing methods around into new changesets.

I use the term "replacing" instead of "conflicting" (for lack of better terms), because I was using the term "conflict" to mean something else.  I mean "replacing" in the sense that a method in a changeset also exists in the image, so loading the changeset will replace the existing method in the image.  The ConflictChecker lists which methods in a changeset are "replacing" methods, but mostly as a side effect.  The main thing the ConflictChecker does is show "conflicting" methods, meaning methods which would replace an existing method in the image, except that the existing method has changed in the image since the changeset was originally created.

Thus, you can think of "replacing" methods in a changeset as ones which potentially could be a problem in the future (and should be kept to a minimum), and "conflicting" methods as ones which *are* a problem, which will likely cause the changeset to not work.

One other nice thing about the ConflictChecker is that it works like the FileContentsBrowser, by examing code without actually loading it into Squeak.

(Actually, I noted a potential problem with your "extract" functionality, I think... it looks like it assumes that base image methods must either be in the .sources file, or in a SqC changeset.  This is true for now, but would not have been true for Squeak 2.8, and may not be true in the future when, say, a typical Squeak 3.2 image only contains the SqC changesets from 3.1 to 3.2 (e.g. 4400 to 5000).  At least I think that's what your code does, I didn't debug it thoroughly.)

- Doug


Leandro Caniglia wrote:
> 
> Hi Doug!
> 
> I think that your goodie (I haven't seen it yet) is similar to the
> one I've posted two months ago to the list. My approach splits a
> change set into two ones. One change set is disjoint to the base
> image, the other contains all methods and classes conflicting with
> it.
> 
> I'm attaching the last version.
> 
> /Leandro
> 
> "Doug Way" <dway at riskmetrics.com> wrote:
> > 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.
> 
>   ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>                                  Name: ChangeSorterTools.19.cs.gz
>    ChangeSorterTools.19.cs.gz    Type: application/gzip (application/gzip)
>                              Encoding: base64




More information about the Squeak-dev mailing list