[squeak-dev] Class definition and ChangeSets

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

[squeak-dev] Class definition and ChangeSets

Jerome Peace

Hi all,

I am one of those holdouts, still doing my squeak developing with change sets instead of MC.

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.

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 would like to know how to solve this problem within the realm of changeset development. Answers, even clues will be appreciated.

Yours in curiosity and service, --Jerome Peace


     

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Class definition and ChangeSets

Igor Stasenko
2009/4/27 Jerome Peace <[hidden email]>:

>
> Hi all,
>
> I am one of those holdouts, still doing my squeak developing with change sets instead of MC.
>
> 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.
>
> 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 would like to know how to solve this problem within the realm of changeset development. Answers, even clues will be appreciated.
>

Thats why i don't use .cs for tracking my code. :)

In my changesorter i see class name and mention that its definition are changed.
But couple of times i vent to same problem which you described.
A class change is listed in changesorter, but i unable to see, what
concrete are changed (there's only a note that its changed).

I hope DeltaStreams will leave all these problems behind.

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



--
Best regards,
Igor Stasenko AKA sig.

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Class definition and ChangeSets

David T. Lewis
In reply to this post by Jerome Peace
On Sun, Apr 26, 2009 at 03:46:50PM -0700, Jerome Peace wrote:

>
> Hi all,
>
> I am one of those holdouts, still doing my squeak developing with change sets instead of MC.
>
> 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.
>
> 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 would like to know how to solve this problem within the realm of changeset development. Answers, even clues will be appreciated.
>

Jerome,

Well, the change record for the class definition is probably sitting in some other
change set, but don't sweat it. Just make some trivial change to the class, then undo
the change.  For example, add instance variable #foo and then delete it, or better yet
add some worthwhile update to the class comment ;)  Worst case, file the class out and
file it back in.

Dave


Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Class definition and ChangeSets

Juan Vuletich-4
In reply to this post by Jerome Peace
Hi Jerome,

Jerome Peace wrote:
> Hi all,
>
> I am one of those holdouts, still doing my squeak developing with change sets instead of MC.
>  

Me too :).
> 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'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.

> I would like to know how to solve this problem within the realm of changeset development. Answers, even clues will be appreciated.
>
> Yours in curiosity and service, --Jerome Peace
>  

Cheers,
Juan Vuletich

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Class definition and ChangeSets

Jerome Peace

     

>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
>
<...>