[squeak-dev] Class definition and ChangeSets

Jerome Peace peace_the_dreamer at yahoo.com
Mon Apr 27 18:23:15 UTC 2009


     	

>Juan Vuletich juan at jvuletich.org
>Mon Apr 27 12:13:09 UTC 2009 wrote:
>
>
>Hi Jerome,
>
>Jerome Peace wrote:
>> Hi all,
>>
><...>
>> At a point in my project I decided to clean up by switching to a new change set.
>>
>> I am not sure what I did. I ended up with a new change set with all the methods for the classes I need. Problem was the class definitions were missing. Left behind.
>>
>> So the only way I can load the new stuff is to load all the old stuff first.
>>
>> Curiously, I can not find where a change record is made for the class definition. It does not appear in the dual change sorter. And the sorter does not offer me a way to move just the class definition from one side to the other.
>>   
>
>Look for references to ClassChangeRecord. The indication that a class 
>was changed used to appear in the bottom pane when selecting the class. 
>This is true both for 3.7 and Cuis. It seems broken in 3.10. The dual 
>change sorter moves a class def when you do "move class chgs to other 
>side". This also moves all the methods.
>
I had been looking right at it without knowing.
The change records only contain sets of symbols representing which changes were made.
The code I was looking for is not present in the changeset per say. Just the indication.
When the changesorter is asked to file out code. The symbols tell it what code to file out but the actual code is taken from the rest of the system.

The symbol #add is needed in the ClassChangeRecord to indicate the class defintion changed.
My broken change sets were missing the #add in the class change record. The reediting was painful but now done.

Now I understand how change sets upset MC and vice versa.
ANY method catagory changes are noted by adding a #reorganize symbol. This is a really crude way to mark what changed. At fileout it causes the whole class organization to be added to the change set. Which leads to problems because on file in you could be rearranging things you though you didn't touch. Which is why switching to MC requires swearing off change sets.


>> I've tried inspecting the change set (from the second menu) and from there explored the dictionary of changes. I saw nothing that looked like the definition change record. What am I missing?
>>   
>
>I could find it without problems... If you can repeat the problem, 
>please post the steps to reproduce.

Lost those too. I have fixed things at this point. And gained a little more wisdom along the way. Acceptable.

Yours in curiosity and service, --Jerome Peace
>
<...>
 


      



More information about the Squeak-dev mailing list