Re: The Inbox: System-jr.919.mcz

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

Re: The Inbox: System-jr.919.mcz

Jakob Reschke-2
May anybody review this, please? Without this (or another fix) we
cannot reliably store trait comments with FileTree/Cypress. We have to
revert the comment removals all the time with Git.

Best,
Jakob

2017-02-12 16:52 GMT+01:00 [hidden email]
<[hidden email]>:

> A new version of System was added to project The Inbox:
> http://source.squeak.org/inbox/System-jr.919.mcz
>
> ==================== Summary ====================
>
> Name: System-jr.919
> Author: jr
> Time: 12 February 2017, 4:10:59.703498 pm
> UUID: 95683f1a-e60c-fe4e-a86a-62cc5b00a151
> Ancestors: System-cmm.918
>
> add PseudoTrait and support for it in FilePackage
>
> main objective is to let Monticello read Trait comments from the st snapshot, which does not work when the trait definition is only treated as a doIt
>
> =============== Diff against System-cmm.918 ===============
>
> Item was changed:
>   ----- Method: FilePackage>>doIt: (in category 'change record types') -----
>   doIt: chgRec
>         | string |
>         string := chgRec string.
>         ('*ubclass:*instanceVariableNames:*classVariableNames:*poolDictionaries:*category:*'
>                 match: string) ifTrue:[^self classDefinition: string with: chgRec].
> +       ('*named:*uses:*category:*'
> +               match: string) ifTrue:["Trait" ^ self traitDefinition: string with: chgRec].
>         ('* class*instanceVariableNames:*'
>                 match: string) ifTrue:[^self metaClassDefinition: string with: chgRec].
>         ('* removeSelector: *'
>                 match: string) ifTrue:[^self removedMethod: string with: chgRec].
>         ('* comment:*'
>                 match: string) ifTrue:[^self msgClassComment: string with: chgRec].
>         ('* initialize'
>                 match: string) ifTrue:[^self]. "Initialization is done based on class>>initialize"
>         ('''From *'
>                 match: string) ifTrue:[^self possibleSystemSource: chgRec].
>         doIts add: chgRec.!
>
> Item was added:
> + ----- Method: FilePackage>>getBehavior:factory: (in category 'private') -----
> + getBehavior: name factory: pseudoBehaviorFactory
> +       | pseudoBehavior |
> +       (classes includesKey: name) ifTrue:[
> +               ^classes at: name.
> +       ].
> +       pseudoBehavior := pseudoBehaviorFactory new.
> +       pseudoBehavior name: name.
> +       classes at: name put: pseudoBehavior.
> +       ^pseudoBehavior.!
>
> Item was changed:
>   ----- Method: FilePackage>>getClass: (in category 'private') -----
>   getClass: className
> +       ^ self getBehavior: className factory: PseudoClass!
> -       | pseudoClass |
> -       (classes includesKey: className) ifTrue:[
> -               ^classes at: className.
> -       ].
> -       pseudoClass := PseudoClass new.
> -       pseudoClass name: className.
> -       classes at: className put: pseudoClass.
> -       ^pseudoClass.!
>
> Item was added:
> + ----- Method: FilePackage>>getTrait: (in category 'private') -----
> + getTrait: traitName
> +       ^ self getBehavior: traitName factory: PseudoTrait!
>
> Item was added:
> + PseudoClass subclass: #PseudoTrait
> +       instanceVariableNames: ''
> +       classVariableNames: ''
> +       poolDictionaries: ''
> +       category: 'System-FilePackage'!
> +
> + !PseudoTrait commentStamp: 'jr 2/12/2017 15:50' prior: 0!
> + Like a PseudoClass, but standing in for a Trait. Works identically to PseudoClass otherwise.!
>
> Item was added:
> + ----- Method: PseudoTrait>>isTrait (in category 'testing') -----
> + isTrait
> +       ^ true!
>
>

Reply | Threaded
Open this post in threaded view
|

Re: The Inbox: System-jr.919.mcz

Tobias Pape
Looks good from here.

> On 11.04.2017, at 18:56, Jakob Reschke <[hidden email]> wrote:
>
> May anybody review this, please? Without this (or another fix) we
> cannot reliably store trait comments with FileTree/Cypress. We have to
> revert the comment removals all the time with Git.
>
> Best,
> Jakob
>
> 2017-02-12 16:52 GMT+01:00 [hidden email]
> <[hidden email]>:
>> A new version of System was added to project The Inbox:
>> http://source.squeak.org/inbox/System-jr.919.mcz
>>
>> ==================== Summary ====================
>>
>> Name: System-jr.919
>> Author: jr
>> Time: 12 February 2017, 4:10:59.703498 pm
>> UUID: 95683f1a-e60c-fe4e-a86a-62cc5b00a151
>> Ancestors: System-cmm.918
>>
>> add PseudoTrait and support for it in FilePackage
>>
>> main objective is to let Monticello read Trait comments from the st snapshot, which does not work when the trait definition is only treated as a doIt
>>
>> =============== Diff against System-cmm.918 ===============
>>
>> Item was changed:
>>  ----- Method: FilePackage>>doIt: (in category 'change record types') -----
>>  doIt: chgRec
>>        | string |
>>        string := chgRec string.
>>        ('*ubclass:*instanceVariableNames:*classVariableNames:*poolDictionaries:*category:*'
>>                match: string) ifTrue:[^self classDefinition: string with: chgRec].
>> +       ('*named:*uses:*category:*'
>> +               match: string) ifTrue:["Trait" ^ self traitDefinition: string with: chgRec].
>>        ('* class*instanceVariableNames:*'
>>                match: string) ifTrue:[^self metaClassDefinition: string with: chgRec].
>>        ('* removeSelector: *'
>>                match: string) ifTrue:[^self removedMethod: string with: chgRec].
>>        ('* comment:*'
>>                match: string) ifTrue:[^self msgClassComment: string with: chgRec].
>>        ('* initialize'
>>                match: string) ifTrue:[^self]. "Initialization is done based on class>>initialize"
>>        ('''From *'
>>                match: string) ifTrue:[^self possibleSystemSource: chgRec].
>>        doIts add: chgRec.!
>>
>> Item was added:
>> + ----- Method: FilePackage>>getBehavior:factory: (in category 'private') -----
>> + getBehavior: name factory: pseudoBehaviorFactory
>> +       | pseudoBehavior |
>> +       (classes includesKey: name) ifTrue:[
>> +               ^classes at: name.
>> +       ].
>> +       pseudoBehavior := pseudoBehaviorFactory new.
>> +       pseudoBehavior name: name.
>> +       classes at: name put: pseudoBehavior.
>> +       ^pseudoBehavior.!
>>
>> Item was changed:
>>  ----- Method: FilePackage>>getClass: (in category 'private') -----
>>  getClass: className
>> +       ^ self getBehavior: className factory: PseudoClass!
>> -       | pseudoClass |
>> -       (classes includesKey: className) ifTrue:[
>> -               ^classes at: className.
>> -       ].
>> -       pseudoClass := PseudoClass new.
>> -       pseudoClass name: className.
>> -       classes at: className put: pseudoClass.
>> -       ^pseudoClass.!
>>
>> Item was added:
>> + ----- Method: FilePackage>>getTrait: (in category 'private') -----
>> + getTrait: traitName
>> +       ^ self getBehavior: traitName factory: PseudoTrait!
>>
>> Item was added:
>> + PseudoClass subclass: #PseudoTrait
>> +       instanceVariableNames: ''
>> +       classVariableNames: ''
>> +       poolDictionaries: ''
>> +       category: 'System-FilePackage'!
>> +
>> + !PseudoTrait commentStamp: 'jr 2/12/2017 15:50' prior: 0!
>> + Like a PseudoClass, but standing in for a Trait. Works identically to PseudoClass otherwise.!
>>
>> Item was added:
>> + ----- Method: PseudoTrait>>isTrait (in category 'testing') -----
>> + isTrait
>> +       ^ true!
>>
>>
>


Reply | Threaded
Open this post in threaded view
|

Re: The Inbox: System-jr.919.mcz

Jakob Reschke-2
In reply to this post by Jakob Reschke-2
If there are no objections, will somebody merge this, please?

2017-04-11 19:23 GMT+02:00 Tobias Pape <[hidden email]>:

> Looks good from here.
>
>> On 11.04.2017, at 18:56, Jakob Reschke <[hidden email]> wrote:
>>
>> May anybody review this, please? Without this (or another fix) we
>> cannot reliably store trait comments with FileTree/Cypress. We have to
>> revert the comment removals all the time with Git.
>>
>> Best,
>> Jakob
>>
>> 2017-02-12 16:52 GMT+01:00 [hidden email]
>> <[hidden email]>:
>>> A new version of System was added to project The Inbox:
>>> http://source.squeak.org/inbox/System-jr.919.mcz
>>>
>>> ==================== Summary ====================
>>>
>>> Name: System-jr.919
>>> Author: jr
>>> Time: 12 February 2017, 4:10:59.703498 pm
>>> UUID: 95683f1a-e60c-fe4e-a86a-62cc5b00a151
>>> Ancestors: System-cmm.918
>>>
>>> add PseudoTrait and support for it in FilePackage
>>>
>>> main objective is to let Monticello read Trait comments from the st snapshot, which does not work when the trait definition is only treated as a doIt
>>>
>>> =============== Diff against System-cmm.918 ===============
>>>
>>> Item was changed:
>>>  ----- Method: FilePackage>>doIt: (in category 'change record types') -----
>>>  doIt: chgRec
>>>        | string |
>>>        string := chgRec string.
>>>        ('*ubclass:*instanceVariableNames:*classVariableNames:*poolDictionaries:*category:*'
>>>                match: string) ifTrue:[^self classDefinition: string with: chgRec].
>>> +       ('*named:*uses:*category:*'
>>> +               match: string) ifTrue:["Trait" ^ self traitDefinition: string with: chgRec].
>>>        ('* class*instanceVariableNames:*'
>>>                match: string) ifTrue:[^self metaClassDefinition: string with: chgRec].
>>>        ('* removeSelector: *'
>>>                match: string) ifTrue:[^self removedMethod: string with: chgRec].
>>>        ('* comment:*'
>>>                match: string) ifTrue:[^self msgClassComment: string with: chgRec].
>>>        ('* initialize'
>>>                match: string) ifTrue:[^self]. "Initialization is done based on class>>initialize"
>>>        ('''From *'
>>>                match: string) ifTrue:[^self possibleSystemSource: chgRec].
>>>        doIts add: chgRec.!
>>>
>>> Item was added:
>>> + ----- Method: FilePackage>>getBehavior:factory: (in category 'private') -----
>>> + getBehavior: name factory: pseudoBehaviorFactory
>>> +       | pseudoBehavior |
>>> +       (classes includesKey: name) ifTrue:[
>>> +               ^classes at: name.
>>> +       ].
>>> +       pseudoBehavior := pseudoBehaviorFactory new.
>>> +       pseudoBehavior name: name.
>>> +       classes at: name put: pseudoBehavior.
>>> +       ^pseudoBehavior.!
>>>
>>> Item was changed:
>>>  ----- Method: FilePackage>>getClass: (in category 'private') -----
>>>  getClass: className
>>> +       ^ self getBehavior: className factory: PseudoClass!
>>> -       | pseudoClass |
>>> -       (classes includesKey: className) ifTrue:[
>>> -               ^classes at: className.
>>> -       ].
>>> -       pseudoClass := PseudoClass new.
>>> -       pseudoClass name: className.
>>> -       classes at: className put: pseudoClass.
>>> -       ^pseudoClass.!
>>>
>>> Item was added:
>>> + ----- Method: FilePackage>>getTrait: (in category 'private') -----
>>> + getTrait: traitName
>>> +       ^ self getBehavior: traitName factory: PseudoTrait!
>>>
>>> Item was added:
>>> + PseudoClass subclass: #PseudoTrait
>>> +       instanceVariableNames: ''
>>> +       classVariableNames: ''
>>> +       poolDictionaries: ''
>>> +       category: 'System-FilePackage'!
>>> +
>>> + !PseudoTrait commentStamp: 'jr 2/12/2017 15:50' prior: 0!
>>> + Like a PseudoClass, but standing in for a Trait. Works identically to PseudoClass otherwise.!
>>>
>>> Item was added:
>>> + ----- Method: PseudoTrait>>isTrait (in category 'testing') -----
>>> + isTrait
>>> +       ^ true!
>>>
>>>
>>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: The Inbox: System-jr.919.mcz

Jakob Reschke-2
In a current project, we still encounter pull requests on GitHub where
the Trait comments get removed (because they were not loaded with the
package in the first place). So again, will somebody merge this into
the trunk, please?

Seems like the corresponding submission Monticello-jr.662 was already
put into the trunk, but it is not merged into the latest version of
that package, so it is effectively not loaded. When someone merges
this (System-jr.919), please also merge Monticello-jr.662 with the
latest version of Monticello.

Kind regards,
Jakob

2017-04-13 14:23 GMT+02:00 Jakob Reschke <[hidden email]>:

> If there are no objections, will somebody merge this, please?
>
> 2017-04-11 19:23 GMT+02:00 Tobias Pape <[hidden email]>:
>> Looks good from here.
>>
>>> On 11.04.2017, at 18:56, Jakob Reschke <[hidden email]> wrote:
>>>
>>> May anybody review this, please? Without this (or another fix) we
>>> cannot reliably store trait comments with FileTree/Cypress. We have to
>>> revert the comment removals all the time with Git.
>>>
>>> Best,
>>> Jakob
>>>
>>> 2017-02-12 16:52 GMT+01:00 [hidden email]
>>> <[hidden email]>:
>>>> A new version of System was added to project The Inbox:
>>>> http://source.squeak.org/inbox/System-jr.919.mcz
>>>>
>>>> ==================== Summary ====================
>>>>
>>>> Name: System-jr.919
>>>> Author: jr
>>>> Time: 12 February 2017, 4:10:59.703498 pm
>>>> UUID: 95683f1a-e60c-fe4e-a86a-62cc5b00a151
>>>> Ancestors: System-cmm.918
>>>>
>>>> add PseudoTrait and support for it in FilePackage
>>>>
>>>> main objective is to let Monticello read Trait comments from the st snapshot, which does not work when the trait definition is only treated as a doIt
>>>>
>>>> =============== Diff against System-cmm.918 ===============
>>>>
>>>> Item was changed:
>>>>  ----- Method: FilePackage>>doIt: (in category 'change record types') -----
>>>>  doIt: chgRec
>>>>        | string |
>>>>        string := chgRec string.
>>>>        ('*ubclass:*instanceVariableNames:*classVariableNames:*poolDictionaries:*category:*'
>>>>                match: string) ifTrue:[^self classDefinition: string with: chgRec].
>>>> +       ('*named:*uses:*category:*'
>>>> +               match: string) ifTrue:["Trait" ^ self traitDefinition: string with: chgRec].
>>>>        ('* class*instanceVariableNames:*'
>>>>                match: string) ifTrue:[^self metaClassDefinition: string with: chgRec].
>>>>        ('* removeSelector: *'
>>>>                match: string) ifTrue:[^self removedMethod: string with: chgRec].
>>>>        ('* comment:*'
>>>>                match: string) ifTrue:[^self msgClassComment: string with: chgRec].
>>>>        ('* initialize'
>>>>                match: string) ifTrue:[^self]. "Initialization is done based on class>>initialize"
>>>>        ('''From *'
>>>>                match: string) ifTrue:[^self possibleSystemSource: chgRec].
>>>>        doIts add: chgRec.!
>>>>
>>>> Item was added:
>>>> + ----- Method: FilePackage>>getBehavior:factory: (in category 'private') -----
>>>> + getBehavior: name factory: pseudoBehaviorFactory
>>>> +       | pseudoBehavior |
>>>> +       (classes includesKey: name) ifTrue:[
>>>> +               ^classes at: name.
>>>> +       ].
>>>> +       pseudoBehavior := pseudoBehaviorFactory new.
>>>> +       pseudoBehavior name: name.
>>>> +       classes at: name put: pseudoBehavior.
>>>> +       ^pseudoBehavior.!
>>>>
>>>> Item was changed:
>>>>  ----- Method: FilePackage>>getClass: (in category 'private') -----
>>>>  getClass: className
>>>> +       ^ self getBehavior: className factory: PseudoClass!
>>>> -       | pseudoClass |
>>>> -       (classes includesKey: className) ifTrue:[
>>>> -               ^classes at: className.
>>>> -       ].
>>>> -       pseudoClass := PseudoClass new.
>>>> -       pseudoClass name: className.
>>>> -       classes at: className put: pseudoClass.
>>>> -       ^pseudoClass.!
>>>>
>>>> Item was added:
>>>> + ----- Method: FilePackage>>getTrait: (in category 'private') -----
>>>> + getTrait: traitName
>>>> +       ^ self getBehavior: traitName factory: PseudoTrait!
>>>>
>>>> Item was added:
>>>> + PseudoClass subclass: #PseudoTrait
>>>> +       instanceVariableNames: ''
>>>> +       classVariableNames: ''
>>>> +       poolDictionaries: ''
>>>> +       category: 'System-FilePackage'!
>>>> +
>>>> + !PseudoTrait commentStamp: 'jr 2/12/2017 15:50' prior: 0!
>>>> + Like a PseudoClass, but standing in for a Trait. Works identically to PseudoClass otherwise.!
>>>>
>>>> Item was added:
>>>> + ----- Method: PseudoTrait>>isTrait (in category 'testing') -----
>>>> + isTrait
>>>> +       ^ true!
>>>>
>>>>
>>>
>>
>>

Reply | Threaded
Open this post in threaded view
|

Re: The Inbox: System-jr.919.mcz

Tobias Pape
ok

> On 20.05.2017, at 22:35, Jakob Reschke <[hidden email]> wrote:
>
> In a current project, we still encounter pull requests on GitHub where
> the Trait comments get removed (because they were not loaded with the
> package in the first place). So again, will somebody merge this into
> the trunk, please?
>
> Seems like the corresponding submission Monticello-jr.662 was already
> put into the trunk, but it is not merged into the latest version of
> that package, so it is effectively not loaded. When someone merges
> this (System-jr.919), please also merge Monticello-jr.662 with the
> latest version of Monticello.
>
> Kind regards,
> Jakob
>
> 2017-04-13 14:23 GMT+02:00 Jakob Reschke <[hidden email]>:
>> If there are no objections, will somebody merge this, please?
>>
>> 2017-04-11 19:23 GMT+02:00 Tobias Pape <[hidden email]>:
>>> Looks good from here.
>>>
>>>> On 11.04.2017, at 18:56, Jakob Reschke <[hidden email]> wrote:
>>>>
>>>> May anybody review this, please? Without this (or another fix) we
>>>> cannot reliably store trait comments with FileTree/Cypress. We have to
>>>> revert the comment removals all the time with Git.
>>>>
>>>> Best,
>>>> Jakob
>>>>
>>>> 2017-02-12 16:52 GMT+01:00 [hidden email]
>>>> <[hidden email]>:
>>>>> A new version of System was added to project The Inbox:
>>>>> http://source.squeak.org/inbox/System-jr.919.mcz
>>>>>
>>>>> ==================== Summary ====================
>>>>>
>>>>> Name: System-jr.919
>>>>> Author: jr
>>>>> Time: 12 February 2017, 4:10:59.703498 pm
>>>>> UUID: 95683f1a-e60c-fe4e-a86a-62cc5b00a151
>>>>> Ancestors: System-cmm.918
>>>>>
>>>>> add PseudoTrait and support for it in FilePackage
>>>>>
>>>>> main objective is to let Monticello read Trait comments from the st snapshot, which does not work when the trait definition is only treated as a doIt
>>>>>
>>>>> =============== Diff against System-cmm.918 ===============
>>>>>
>>>>> Item was changed:
>>>>> ----- Method: FilePackage>>doIt: (in category 'change record types') -----
>>>>> doIt: chgRec
>>>>>       | string |
>>>>>       string := chgRec string.
>>>>>       ('*ubclass:*instanceVariableNames:*classVariableNames:*poolDictionaries:*category:*'
>>>>>               match: string) ifTrue:[^self classDefinition: string with: chgRec].
>>>>> +       ('*named:*uses:*category:*'
>>>>> +               match: string) ifTrue:["Trait" ^ self traitDefinition: string with: chgRec].
>>>>>       ('* class*instanceVariableNames:*'
>>>>>               match: string) ifTrue:[^self metaClassDefinition: string with: chgRec].
>>>>>       ('* removeSelector: *'
>>>>>               match: string) ifTrue:[^self removedMethod: string with: chgRec].
>>>>>       ('* comment:*'
>>>>>               match: string) ifTrue:[^self msgClassComment: string with: chgRec].
>>>>>       ('* initialize'
>>>>>               match: string) ifTrue:[^self]. "Initialization is done based on class>>initialize"
>>>>>       ('''From *'
>>>>>               match: string) ifTrue:[^self possibleSystemSource: chgRec].
>>>>>       doIts add: chgRec.!
>>>>>
>>>>> Item was added:
>>>>> + ----- Method: FilePackage>>getBehavior:factory: (in category 'private') -----
>>>>> + getBehavior: name factory: pseudoBehaviorFactory
>>>>> +       | pseudoBehavior |
>>>>> +       (classes includesKey: name) ifTrue:[
>>>>> +               ^classes at: name.
>>>>> +       ].
>>>>> +       pseudoBehavior := pseudoBehaviorFactory new.
>>>>> +       pseudoBehavior name: name.
>>>>> +       classes at: name put: pseudoBehavior.
>>>>> +       ^pseudoBehavior.!
>>>>>
>>>>> Item was changed:
>>>>> ----- Method: FilePackage>>getClass: (in category 'private') -----
>>>>> getClass: className
>>>>> +       ^ self getBehavior: className factory: PseudoClass!
>>>>> -       | pseudoClass |
>>>>> -       (classes includesKey: className) ifTrue:[
>>>>> -               ^classes at: className.
>>>>> -       ].
>>>>> -       pseudoClass := PseudoClass new.
>>>>> -       pseudoClass name: className.
>>>>> -       classes at: className put: pseudoClass.
>>>>> -       ^pseudoClass.!
>>>>>
>>>>> Item was added:
>>>>> + ----- Method: FilePackage>>getTrait: (in category 'private') -----
>>>>> + getTrait: traitName
>>>>> +       ^ self getBehavior: traitName factory: PseudoTrait!
>>>>>
>>>>> Item was added:
>>>>> + PseudoClass subclass: #PseudoTrait
>>>>> +       instanceVariableNames: ''
>>>>> +       classVariableNames: ''
>>>>> +       poolDictionaries: ''
>>>>> +       category: 'System-FilePackage'!
>>>>> +
>>>>> + !PseudoTrait commentStamp: 'jr 2/12/2017 15:50' prior: 0!
>>>>> + Like a PseudoClass, but standing in for a Trait. Works identically to PseudoClass otherwise.!
>>>>>
>>>>> Item was added:
>>>>> + ----- Method: PseudoTrait>>isTrait (in category 'testing') -----
>>>>> + isTrait
>>>>> +       ^ true!
>>>>>
>>>>>
>>>>
>>>
>>>
>