[Cuis-dev] Rename class not logging to user changes
Juan Vuletich
juan at jvuletich.org
Fri Jul 5 09:37:42 PDT 2019
Ok for class rename.
BTW, just checked and in the current change set it gets recorded like:
Smalltalk renameClassNamed: #EllipseMorph as: #TheEllipseMorph
But, if I rename ivar pointBlock in HandleMorph, and then file out
changes, I do get the detailed sequence.
On 7/5/2019 12:35 PM, Hernan Wilkinson wrote:
> recording the whole sequence is going to be more difficult because
> that it is not what really happens... so those events should be
> "artificially" created, and I think that for an automatic recovery of
> the image that is the most used case for this, it is better just to
> add the "rename" event. When recovering it will just rename the class
> and then apply the method changes...
>
> On Fri, Jul 5, 2019 at 12:20 PM Juan Vuletich <juan at jvuletich.org
> <mailto:juan at jvuletich.org>> wrote:
>
> Maybe they should be recorded both ways: as ClassRename and as
> sequence {ClassCreation. NewMethods. UpdateClassReferences.
> OldClassRemoval}. There are some reasons for wanting the sequence.
> One is to be able to re-apply changes, or not require to be in
> exactly the same state as when the change was created.
>
> If both ways are included, then the user of the file can decide
> what s(he) prefers.
>
> On 7/5/2019 10:11 AM, Hernan Wilkinson via Cuis-dev wrote:
>> Hi Eric,
>> yeap, class rename is not being logged ... a new type of change
>> should be created for that. If fact, it would be great to record
>> all type of refactorings as refactorings instead of only the
>> changes composed by the refactoring.
>>
>> Regarding the new change record, it should be a class rename
>> type, not a deletion and creation of the new one because that
>> does not happen when doing a class rename.
>> There is an important question to answer: when loading the
>> change record, should it rename the references too or should only
>> do it for those that are recorded? ... if all the changes are
>> loaded then the later should be applied but if not? I think the
>> best option is to only rename the class and then let the other
>> changes change the reference. (I hope this is understandable :-) )
>>
>> Hernan.
>>
>> On Fri, Jul 5, 2019 at 2:04 AM Eric Brandwein via Cuis-dev
>> <cuis-dev at lists.cuis.st <mailto:cuis-dev at lists.cuis.st>> wrote:
>>
>> Hi all,
>>
>> Today Cuis broke because I was messing with Morphs, and I had
>> to close the image. Unfortunately, I hadn't saved my changes,
>> so to recover them I had to rely on the .user.changes file. I
>> opened up the image again, and it asked me to recover
>> changes. I selected to automatically recover them, and a
>> strange error occurred: it told me that UndefinedObject
>> didn't understand #removeSelector:. Digging through the
>> ChangeList, I noticed something: the class renames were
>> nowhere to be seen. So, what was happening is that there were
>> some ChangeListElements that removed selectors from classes
>> that didn't exist because they had the old names from before
>> I renamed them.
>>
>> All this story is to point out that bug: the class rename
>> isn't logging to the changes file. And I'm not really sure
>> how to solve it quickly and cleanly; there isn't a
>> ClassRenameChangeRecord class like there's a
>> ClassDeletionChangeRecord, so either there should be a new
>> kind of ChangeList record to log class renames or we should
>> log the deletion of the class and the subsequent adding of
>> all the methods that were previously in that class to the
>> class with the new name. What do you think?
>>
>> Cheers,
>> Eric
>> --
>> Cuis-dev mailing list
>> Cuis-dev at lists.cuis.st <mailto:Cuis-dev at lists.cuis.st>
>> https://lists.cuis.st/mailman/listinfo/cuis-dev
>>
>>
>>
>> --
>> *Hernán Wilkinson
>> Agile Software Development, Teaching & Coaching*
>> *Phone: +54-011*-4893-2057
>> *Twitter: @HernanWilkinson*
>> *site: http://www.10Pines.com <http://www.10pines.com/>*
>> Address: Alem 896, Floor 6, Buenos Aires, Argentina
>
>
> --
> Juan Vuletich
> www.cuis-smalltalk.org <http://www.cuis-smalltalk.org>
> https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev
> https://github.com/jvuletich
> https://www.linkedin.com/in/juan-vuletich-75611b3
> @JuanVuletich
>
>
>
> --
> *Hernán Wilkinson
> Agile Software Development, Teaching & Coaching*
> *Phone: +54-011*-4893-2057
> *Twitter: @HernanWilkinson*
> *site: http://www.10Pines.com <http://www.10pines.com/>*
> Address: Alem 896, Floor 6, Buenos Aires, Argentina
--
Juan Vuletich
www.cuis-smalltalk.org
https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev
https://github.com/jvuletich
https://www.linkedin.com/in/juan-vuletich-75611b3
@JuanVuletich
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cuis.st/mailman/archives/cuis-dev/attachments/20190705/9399d13c/attachment.htm>
More information about the Cuis-dev
mailing list