Tools for working with ChangeSets
Hi Matthew,
This is great stuff!
Why not start a Mantis issue?
Mantis FAQ and Tips http://wiki.squeak.org/squeak/5912
Yours in service, --Jerome Peace
Matthew Fulmer tapplek at gmail.com Thu Mar 1 14:52:43 UTC 2007
I am trying to file in a changeset that was made
for
Squeak 3.2, but will lock up a 3.8 image when filed in, due to changing some really deep stuff with in Object (such as doesNotUnderstand:). So I looked for a way to differentiate between the ChangeRecords that override an existing method from those that
don't,
and I came across ChangeList.
ChangeList seems to be the object that is created
from
a .cs file, but the class itself seems to be a black box.
For
instance, there is no obviously correct way to
create a
ChangeList from a .cs file without popping up the change viewer tool. to do that, I had to copy the class method browseStream: to a workspace and did all but the last line
(strangely,
this class seems to be somehow tied to the UI event loop, so debugging browseStream: freezes the UI).
Then, once I had a ChangeList without a window, I
was
able to call ChangeList>>changeList to get at the list of ChangeRecords and sort them like:
dangerous := changeList changeList select: [:each| each methodClass ifNil: [false] ifNotNil: [ each methodClass canUnderstand: each methodSelector]]
and similarly for "safe" changes. Now, again, there
is
now obviously correct way to create a ChangeList from
this
OrderedCollection of ChangeRecords.
The problem is that ChangeList is trying to be both
a
Model and a View (at least that is how it seems to me), and
is
not doing a very good job at either. The tools for ChangeSet manipulation seem to be much better, and the only difference
that I
can see is that ChangeList handles external code and ChangeSet handles in-image code.
My questions:
- Is there some tool that does what I am looking
for?
- Why the difference between ChangeSet and
ChangeList?
If there is no tools for the task I am attempting,
I
will just keep hacking it.
-- Matthew Fulmer -- http://mtfulmer.wordpress.com/ Help improve Squeak Documentation: http://wiki.squeak.org/squeak/808
***
____________________________________________________________________________________ Need a quick answer? Get one in minutes from people who know. Ask your question on www.Answers.yahoo.com
squeak-dev@lists.squeakfoundation.org