The Trunk: SMLoader-fbs.78.mcz

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

The Trunk: SMLoader-fbs.78.mcz

commits-2
Frank Shearar uploaded a new version of SMLoader to project The Trunk:
http://source.squeak.org/trunk/SMLoader-fbs.78.mcz

==================== Summary ====================

Name: SMLoader-fbs.78
Author: fbs
Time: 25 February 2013, 9:27:11.959 pm
UUID: cd8023fe-60a1-4dd9-a7dd-60e8ce7f4ac5
Ancestors: SMLoader-cmm.77

When installing WebClient, use the most recent version.

=============== Diff against SMLoader-cmm.77 ===============

Item was changed:
  SystemOrganization addCategory: #SMLoader!
- SystemOrganization addCategory: #'SMLoader-Models'!

Item was changed:
  ----- Method: SMClient class>>installWebClient (in category 'private') -----
  installWebClient
+ Installer ss
+ project: 'WebClient';
+ install: 'WebClient-Core-ar.92.mcz'!
- (Installer repository: 'http://www.squeaksource.com/WebClient')
- install: 'WebClient-Core-ar.83'!


Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: SMLoader-fbs.78.mcz

Chris Muller-3
I'm glad you left it a hard-coded version (92) so that it will stay stable.


On Mon, Feb 25, 2013 at 3:27 PM,  <[hidden email]> wrote:

> Frank Shearar uploaded a new version of SMLoader to project The Trunk:
> http://source.squeak.org/trunk/SMLoader-fbs.78.mcz
>
> ==================== Summary ====================
>
> Name: SMLoader-fbs.78
> Author: fbs
> Time: 25 February 2013, 9:27:11.959 pm
> UUID: cd8023fe-60a1-4dd9-a7dd-60e8ce7f4ac5
> Ancestors: SMLoader-cmm.77
>
> When installing WebClient, use the most recent version.
>
> =============== Diff against SMLoader-cmm.77 ===============
>
> Item was changed:
>   SystemOrganization addCategory: #SMLoader!
> - SystemOrganization addCategory: #'SMLoader-Models'!
>
> Item was changed:
>   ----- Method: SMClient class>>installWebClient (in category 'private') -----
>   installWebClient
> +       Installer ss
> +               project: 'WebClient';
> +               install: 'WebClient-Core-ar.92.mcz'!
> -       (Installer repository: 'http://www.squeaksource.com/WebClient')
> -               install: 'WebClient-Core-ar.83'!
>
>

Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: SMLoader-fbs.78.mcz

Tobias Pape
In reply to this post by commits-2
Am 25.02.2013 um 21:27 schrieb [hidden email]:

> Frank Shearar uploaded a new version of SMLoader to project The Trunk:
> http://source.squeak.org/trunk/SMLoader-fbs.78.mcz
>
> ==================== Summary ====================
>
> Name: SMLoader-fbs.78
> Author: fbs
> Time: 25 February 2013, 9:27:11.959 pm
> UUID: cd8023fe-60a1-4dd9-a7dd-60e8ce7f4ac5
> Ancestors: SMLoader-cmm.77
>
> When installing WebClient, use the most recent version.
>
> =============== Diff against SMLoader-cmm.77 ===============
>
> Item was changed:
>  SystemOrganization addCategory: #SMLoader!
> - SystemOrganization addCategory: #'SMLoader-Models'!
>
> Item was changed:
>  ----- Method: SMClient class>>installWebClient (in category 'private') -----
>  installWebClient
> + Installer ss
> + project: 'WebClient';
> + install: 'WebClient-Core-ar.92.mcz'!

Shouldn't this be WebClient-Core-ar.92 without the .mcz?

> - (Installer repository: 'http://www.squeaksource.com/WebClient')
> - install: 'WebClient-Core-ar.83'!
>

Best
        -Tobias



Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: SMLoader-fbs.78.mcz

Frank Shearar-3
On 26 February 2013 06:38, Tobias Pape <[hidden email]> wrote:

> Am 25.02.2013 um 21:27 schrieb [hidden email]:
>
>> Frank Shearar uploaded a new version of SMLoader to project The Trunk:
>> http://source.squeak.org/trunk/SMLoader-fbs.78.mcz
>>
>> ==================== Summary ====================
>>
>> Name: SMLoader-fbs.78
>> Author: fbs
>> Time: 25 February 2013, 9:27:11.959 pm
>> UUID: cd8023fe-60a1-4dd9-a7dd-60e8ce7f4ac5
>> Ancestors: SMLoader-cmm.77
>>
>> When installing WebClient, use the most recent version.
>>
>> =============== Diff against SMLoader-cmm.77 ===============
>>
>> Item was changed:
>>  SystemOrganization addCategory: #SMLoader!
>> - SystemOrganization addCategory: #'SMLoader-Models'!
>>
>> Item was changed:
>>  ----- Method: SMClient class>>installWebClient (in category 'private') -----
>>  installWebClient
>> +     Installer ss
>> +             project: 'WebClient';
>> +             install: 'WebClient-Core-ar.92.mcz'!
>
> Shouldn't this be WebClient-Core-ar.92 without the .mcz?

Yes, it should, but without the .mcz you'd end up loading
WebClient-Core-ar.921.mcz by accident, were there such a version.

frank

>> -     (Installer repository: 'http://www.squeaksource.com/WebClient')
>> -             install: 'WebClient-Core-ar.83'!
>>
>
> Best
>         -Tobias
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: SMLoader-fbs.78.mcz

Frank Shearar-3
In reply to this post by Chris Muller-3
:)

I'm working on an InstallerGitHub that will pull in WebClient as
needed: that means there'll be two things that load WebClient in
lazily, requiring some coordination... or pulling out the common
piece. I'm not quite sure how to do that since that introduces another
dependency or two between things.

And adding WebClient to Core seems... counterproductive!

frank

On 25 February 2013 22:50, Chris Muller <[hidden email]> wrote:

> I'm glad you left it a hard-coded version (92) so that it will stay stable.
>
>
> On Mon, Feb 25, 2013 at 3:27 PM,  <[hidden email]> wrote:
>> Frank Shearar uploaded a new version of SMLoader to project The Trunk:
>> http://source.squeak.org/trunk/SMLoader-fbs.78.mcz
>>
>> ==================== Summary ====================
>>
>> Name: SMLoader-fbs.78
>> Author: fbs
>> Time: 25 February 2013, 9:27:11.959 pm
>> UUID: cd8023fe-60a1-4dd9-a7dd-60e8ce7f4ac5
>> Ancestors: SMLoader-cmm.77
>>
>> When installing WebClient, use the most recent version.
>>
>> =============== Diff against SMLoader-cmm.77 ===============
>>
>> Item was changed:
>>   SystemOrganization addCategory: #SMLoader!
>> - SystemOrganization addCategory: #'SMLoader-Models'!
>>
>> Item was changed:
>>   ----- Method: SMClient class>>installWebClient (in category 'private') -----
>>   installWebClient
>> +       Installer ss
>> +               project: 'WebClient';
>> +               install: 'WebClient-Core-ar.92.mcz'!
>> -       (Installer repository: 'http://www.squeaksource.com/WebClient')
>> -               install: 'WebClient-Core-ar.83'!
>>
>>
>

Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: SMLoader-fbs.78.mcz

Tobias Pape
In reply to this post by Frank Shearar-3
Am 26.02.2013 um 08:19 schrieb Frank Shearar <[hidden email]>:

> On 26 February 2013 06:38, Tobias Pape <[hidden email]> wrote:
>> Am 25.02.2013 um 21:27 schrieb [hidden email]:
>>
>>> Frank Shearar uploaded a new version of SMLoader to project The Trunk:
>>> http://source.squeak.org/trunk/SMLoader-fbs.78.mcz
>>>
>>> ==================== Summary ====================
>>>
>>> Name: SMLoader-fbs.78
>>> Author: fbs
>>> Time: 25 February 2013, 9:27:11.959 pm
>>> UUID: cd8023fe-60a1-4dd9-a7dd-60e8ce7f4ac5
>>> Ancestors: SMLoader-cmm.77
>>>
>>> When installing WebClient, use the most recent version.
>>>
>>> =============== Diff against SMLoader-cmm.77 ===============
>>>
>>> Item was changed:
>>> SystemOrganization addCategory: #SMLoader!
>>> - SystemOrganization addCategory: #'SMLoader-Models'!
>>>
>>> Item was changed:
>>> ----- Method: SMClient class>>installWebClient (in category 'private') -----
>>> installWebClient
>>> +     Installer ss
>>> +             project: 'WebClient';
>>> +             install: 'WebClient-Core-ar.92.mcz'!
>>
>> Shouldn't this be WebClient-Core-ar.92 without the .mcz?
>
> Yes, it should, but without the .mcz you'd end up loading
> WebClient-Core-ar.921.mcz by accident, were there such a version.


Then I would like to declare Installer broken. ;)
Rephrased: This would be unexpected behavior for me

Best
        -Tobias
Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: SMLoader-fbs.78.mcz

Frank Shearar-3
On 26 February 2013 07:23, Tobias Pape <[hidden email]> wrote:

> Am 26.02.2013 um 08:19 schrieb Frank Shearar <[hidden email]>:
>
>> On 26 February 2013 06:38, Tobias Pape <[hidden email]> wrote:
>>> Am 25.02.2013 um 21:27 schrieb [hidden email]:
>>>
>>>> Frank Shearar uploaded a new version of SMLoader to project The Trunk:
>>>> http://source.squeak.org/trunk/SMLoader-fbs.78.mcz
>>>>
>>>> ==================== Summary ====================
>>>>
>>>> Name: SMLoader-fbs.78
>>>> Author: fbs
>>>> Time: 25 February 2013, 9:27:11.959 pm
>>>> UUID: cd8023fe-60a1-4dd9-a7dd-60e8ce7f4ac5
>>>> Ancestors: SMLoader-cmm.77
>>>>
>>>> When installing WebClient, use the most recent version.
>>>>
>>>> =============== Diff against SMLoader-cmm.77 ===============
>>>>
>>>> Item was changed:
>>>> SystemOrganization addCategory: #SMLoader!
>>>> - SystemOrganization addCategory: #'SMLoader-Models'!
>>>>
>>>> Item was changed:
>>>> ----- Method: SMClient class>>installWebClient (in category 'private') -----
>>>> installWebClient
>>>> +     Installer ss
>>>> +             project: 'WebClient';
>>>> +             install: 'WebClient-Core-ar.92.mcz'!
>>>
>>> Shouldn't this be WebClient-Core-ar.92 without the .mcz?
>>
>> Yes, it should, but without the .mcz you'd end up loading
>> WebClient-Core-ar.921.mcz by accident, were there such a version.
>
>
> Then I would like to declare Installer broken. ;)
> Rephrased: This would be unexpected behavior for me

If you raise a bug I'll remember to fix it :) Otherwise my
disease-riddled brain will likely forget.

frank

> Best
>         -Tobias

Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: SMLoader-fbs.78.mcz

Tobias Pape
Am 26.02.2013 um 08:28 schrieb Frank Shearar <[hidden email]>:

> On 26 February 2013 07:23, Tobias Pape <[hidden email]> wrote:
>> Am 26.02.2013 um 08:19 schrieb Frank Shearar <[hidden email]>:
>>
>>> On 26 February 2013 06:38, Tobias Pape <[hidden email]> wrote:
>>>
>>> Yes, it should, but without the .mcz you'd end up loading
>>> WebClient-Core-ar.921.mcz by accident, were there such a version.
>>
>>
>> Then I would like to declare Installer broken. ;)
>> Rephrased: This would be unexpected behavior for me
>
> If you raise a bug I'll remember to fix it :) Otherwise my
> disease-riddled brain will likely forget.


you mean on mantis?
To be frank, I have no idea how to.
I find mantis most puzzeling :/

Best
        -tobias

Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: SMLoader-fbs.78.mcz

Frank Shearar-3
On 26 February 2013 07:43, Tobias Pape <[hidden email]> wrote:

> Am 26.02.2013 um 08:28 schrieb Frank Shearar <[hidden email]>:
>
>> On 26 February 2013 07:23, Tobias Pape <[hidden email]> wrote:
>>> Am 26.02.2013 um 08:19 schrieb Frank Shearar <[hidden email]>:
>>>
>>>> On 26 February 2013 06:38, Tobias Pape <[hidden email]> wrote:
>>>>
>>>> Yes, it should, but without the .mcz you'd end up loading
>>>> WebClient-Core-ar.921.mcz by accident, were there such a version.
>>>
>>>
>>> Then I would like to declare Installer broken. ;)
>>> Rephrased: This would be unexpected behavior for me
>>
>> If you raise a bug I'll remember to fix it :) Otherwise my
>> disease-riddled brain will likely forget.
>
>
> you mean on mantis?
> To be frank, I have no idea how to.
> I find mantis most puzzeling :/

Really? It's very retro chic, but I've always found its interface to
be more or less navigable. It _has_ been a very long time since I
learned Mantis though, to be fair.

So I raised the ticket for you: http://bugs.squeak.org/view.php?id=7742

frank

> Best
>         -tobias
>

Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: SMLoader-fbs.78.mcz

Frank Shearar-3
On 26 February 2013 09:10, Frank Shearar <[hidden email]> wrote:

> On 26 February 2013 07:43, Tobias Pape <[hidden email]> wrote:
>> Am 26.02.2013 um 08:28 schrieb Frank Shearar <[hidden email]>:
>>
>>> On 26 February 2013 07:23, Tobias Pape <[hidden email]> wrote:
>>>> Am 26.02.2013 um 08:19 schrieb Frank Shearar <[hidden email]>:
>>>>
>>>>> On 26 February 2013 06:38, Tobias Pape <[hidden email]> wrote:
>>>>>
>>>>> Yes, it should, but without the .mcz you'd end up loading
>>>>> WebClient-Core-ar.921.mcz by accident, were there such a version.
>>>>
>>>>
>>>> Then I would like to declare Installer broken. ;)
>>>> Rephrased: This would be unexpected behavior for me
>>>
>>> If you raise a bug I'll remember to fix it :) Otherwise my
>>> disease-riddled brain will likely forget.
>>
>>
>> you mean on mantis?
>> To be frank, I have no idea how to.
>> I find mantis most puzzeling :/
>
> Really? It's very retro chic, but I've always found its interface to
> be more or less navigable. It _has_ been a very long time since I
> learned Mantis though, to be fair.
>
> So I raised the ticket for you: http://bugs.squeak.org/view.php?id=7742

Bert, while InstallerMonticello has always behaved this way, you
touched this (InstallerMonticello >> #mcDetectFileBlock:) last -
before I rip out its guts, are there any gotchas I might miss? Is it
_desirable_ to match 'Collections-fbs.489' when trying to install
'Collections-fbs.48'?

> frank
>
>> Best
>>         -tobias
>>

Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: SMLoader-fbs.78.mcz

Tobias Pape
In reply to this post by Frank Shearar-3
Am 26.02.2013 um 10:10 schrieb Frank Shearar <[hidden email]>:

> On 26 February 2013 07:43, Tobias Pape <[hidden email]> wrote:
>> Am 26.02.2013 um 08:28 schrieb Frank Shearar <[hidden email]>:
>>
>>> On 26 February 2013 07:23, Tobias Pape <[hidden email]> wrote:
>>>
>>> If you raise a bug I'll remember to fix it :) Otherwise my
>>> disease-riddled brain will likely forget.
>>
>>
>> you mean on mantis?
>> To be frank, I have no idea how to.
>> I find mantis most puzzeling :/
>
> Really? It's very retro chic, but I've always found its interface to
> be more or less navigable. It _has_ been a very long time since I
> learned Mantis though, to be fair.
>
> So I raised the ticket for you: http://bugs.squeak.org/view.php?id=7742


Thank you for that :)

Best
        -Tobias


Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: SMLoader-fbs.78.mcz

Bert Freudenberg
In reply to this post by Frank Shearar-3

On 2013-02-26, at 08:19, Frank Shearar <[hidden email]> wrote:

> On 26 February 2013 06:38, Tobias Pape <[hidden email]> wrote:
>> Am 25.02.2013 um 21:27 schrieb [hidden email]:
>>
>>> installWebClient
>>> +     Installer ss
>>> +             project: 'WebClient';
>>> +             install: 'WebClient-Core-ar.92.mcz'!
>>
>> Shouldn't this be WebClient-Core-ar.92 without the .mcz?
>
> Yes, it should, but without the .mcz you'd end up loading
> WebClient-Core-ar.921.mcz by accident, were there such a version.
>
> frank


Really? I thought we fixed the matching from stupid strings to something more intelligent a while ago?

- Bert -


Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: SMLoader-fbs.78.mcz

Frank Shearar-3
On 26 February 2013 11:36, Bert Freudenberg <[hidden email]> wrote:

>
> On 2013-02-26, at 08:19, Frank Shearar <[hidden email]> wrote:
>
>> On 26 February 2013 06:38, Tobias Pape <[hidden email]> wrote:
>>> Am 25.02.2013 um 21:27 schrieb [hidden email]:
>>>
>>>> installWebClient
>>>> +     Installer ss
>>>> +             project: 'WebClient';
>>>> +             install: 'WebClient-Core-ar.92.mcz'!
>>>
>>> Shouldn't this be WebClient-Core-ar.92 without the .mcz?
>>
>> Yes, it should, but without the .mcz you'd end up loading
>> WebClient-Core-ar.921.mcz by accident, were there such a version.
>>
>> frank
>
>
> Really? I thought we fixed the matching from stupid strings to something more intelligent a while ago?

We did, but we still stupidly match on prefixes of strings generated
from MCVersionNames.

frank

> - Bert -
>
>

Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: SMLoader-fbs.78.mcz

Chris Muller-4
In reply to this post by Frank Shearar-3
What I did in my MaInstaller was to have a #merge: function which
would normally be used all the time (instead of #install:).  So
whichever one was more up-to-date would be loaded or, even if they
were branches of each other it would still work too as long as there
were no method-level conflicts.  (If there are method-level conflicts
then the interactive Merge dialog is presented where the user can make
a choice and proceed with the rest of the install by clicking Merge).

If something isn't installed at yet, #merge: behaves exactly like #install:.


On Tue, Feb 26, 2013 at 1:21 AM, Frank Shearar <[hidden email]> wrote:

> :)
>
> I'm working on an InstallerGitHub that will pull in WebClient as
> needed: that means there'll be two things that load WebClient in
> lazily, requiring some coordination... or pulling out the common
> piece. I'm not quite sure how to do that since that introduces another
> dependency or two between things.
>
> And adding WebClient to Core seems... counterproductive!
>
> frank
>
> On 25 February 2013 22:50, Chris Muller <[hidden email]> wrote:
>> I'm glad you left it a hard-coded version (92) so that it will stay stable.
>>
>>
>> On Mon, Feb 25, 2013 at 3:27 PM,  <[hidden email]> wrote:
>>> Frank Shearar uploaded a new version of SMLoader to project The Trunk:
>>> http://source.squeak.org/trunk/SMLoader-fbs.78.mcz
>>>
>>> ==================== Summary ====================
>>>
>>> Name: SMLoader-fbs.78
>>> Author: fbs
>>> Time: 25 February 2013, 9:27:11.959 pm
>>> UUID: cd8023fe-60a1-4dd9-a7dd-60e8ce7f4ac5
>>> Ancestors: SMLoader-cmm.77
>>>
>>> When installing WebClient, use the most recent version.
>>>
>>> =============== Diff against SMLoader-cmm.77 ===============
>>>
>>> Item was changed:
>>>   SystemOrganization addCategory: #SMLoader!
>>> - SystemOrganization addCategory: #'SMLoader-Models'!
>>>
>>> Item was changed:
>>>   ----- Method: SMClient class>>installWebClient (in category 'private') -----
>>>   installWebClient
>>> +       Installer ss
>>> +               project: 'WebClient';
>>> +               install: 'WebClient-Core-ar.92.mcz'!
>>> -       (Installer repository: 'http://www.squeaksource.com/WebClient')
>>> -               install: 'WebClient-Core-ar.83'!
>>>
>>>
>>

Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: SMLoader-fbs.78.mcz

Frank Shearar-3
On 26 February 2013 19:13, Chris Muller <[hidden email]> wrote:
> What I did in my MaInstaller was to have a #merge: function which
> would normally be used all the time (instead of #install:).  So
> whichever one was more up-to-date would be loaded or, even if they
> were branches of each other it would still work too as long as there
> were no method-level conflicts.  (If there are method-level conflicts
> then the interactive Merge dialog is presented where the user can make
> a choice and proceed with the rest of the install by clicking Merge).
>
> If something isn't installed at yet, #merge: behaves exactly like #install:.

OK, but that's not what I'm getting at. It's not actually a problem
yet because this thing's not finished, but my point is that we'd have
two things that lazily pulled in WebClient... and if SM simply had to
use version N or later, and InstallerGitHub pulled in version N-1
because you ran it before you opened the catalog, Bad Things might
well happen. Especially so since "is WebClient installed?" is answered
by Smalltalk at: #WebClient (really, this should be self class
environment at: #WebClient). SM goes "oh cool, it's already loaded, so
I'll just invoke this new behaviour OH NO MNU"

frank

> On Tue, Feb 26, 2013 at 1:21 AM, Frank Shearar <[hidden email]> wrote:
>> :)
>>
>> I'm working on an InstallerGitHub that will pull in WebClient as
>> needed: that means there'll be two things that load WebClient in
>> lazily, requiring some coordination... or pulling out the common
>> piece. I'm not quite sure how to do that since that introduces another
>> dependency or two between things.
>>
>> And adding WebClient to Core seems... counterproductive!
>>
>> frank
>>
>> On 25 February 2013 22:50, Chris Muller <[hidden email]> wrote:
>>> I'm glad you left it a hard-coded version (92) so that it will stay stable.
>>>
>>>
>>> On Mon, Feb 25, 2013 at 3:27 PM,  <[hidden email]> wrote:
>>>> Frank Shearar uploaded a new version of SMLoader to project The Trunk:
>>>> http://source.squeak.org/trunk/SMLoader-fbs.78.mcz
>>>>
>>>> ==================== Summary ====================
>>>>
>>>> Name: SMLoader-fbs.78
>>>> Author: fbs
>>>> Time: 25 February 2013, 9:27:11.959 pm
>>>> UUID: cd8023fe-60a1-4dd9-a7dd-60e8ce7f4ac5
>>>> Ancestors: SMLoader-cmm.77
>>>>
>>>> When installing WebClient, use the most recent version.
>>>>
>>>> =============== Diff against SMLoader-cmm.77 ===============
>>>>
>>>> Item was changed:
>>>>   SystemOrganization addCategory: #SMLoader!
>>>> - SystemOrganization addCategory: #'SMLoader-Models'!
>>>>
>>>> Item was changed:
>>>>   ----- Method: SMClient class>>installWebClient (in category 'private') -----
>>>>   installWebClient
>>>> +       Installer ss
>>>> +               project: 'WebClient';
>>>> +               install: 'WebClient-Core-ar.92.mcz'!
>>>> -       (Installer repository: 'http://www.squeaksource.com/WebClient')
>>>> -               install: 'WebClient-Core-ar.83'!
>>>>
>>>>
>>>

Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: SMLoader-fbs.78.mcz

Tobias Pape
Am 26.02.2013 um 21:38 schrieb Frank Shearar <[hidden email]>:

> On 26 February 2013 19:13, Chris Muller <[hidden email]> wrote:
>> What I did in my MaInstaller was to have a #merge: function which
>> would normally be used all the time (instead of #install:).  So
>> whichever one was more up-to-date would be loaded or, even if they
>> were branches of each other it would still work too as long as there
>> were no method-level conflicts.  (If there are method-level conflicts
>> then the interactive Merge dialog is presented where the user can make
>> a choice and proceed with the rest of the install by clicking Merge).
>>
>> If something isn't installed at yet, #merge: behaves exactly like #install:.
>
> OK, but that's not what I'm getting at. It's not actually a problem
> yet because this thing's not finished, but my point is that we'd have
> two things that lazily pulled in WebClient... and if SM simply had to
> use version N or later, and InstallerGitHub pulled in version N-1
> because you ran it before you opened the catalog, Bad Things might
> well happen. Especially so since "is WebClient installed?" is answered
> by Smalltalk at: #WebClient (really, this should be self class
> environment at: #WebClient). SM goes "oh cool, it's already loaded, so
> I'll just invoke this new behaviour OH NO MNU"



Not to mention the case when someone says
(ConfigurationOfWebClient project load: #stable) ;)

However, in this case, you could do
(ConfigurationOfWebClient project currentVersion) :D

Best
        -Tobias
Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: SMLoader-fbs.78.mcz

Chris Muller-4
In reply to this post by Frank Shearar-3
On Tue, Feb 26, 2013 at 2:38 PM, Frank Shearar <[hidden email]> wrote:

> On 26 February 2013 19:13, Chris Muller <[hidden email]> wrote:
>> What I did in my MaInstaller was to have a #merge: function which
>> would normally be used all the time (instead of #install:).  So
>> whichever one was more up-to-date would be loaded or, even if they
>> were branches of each other it would still work too as long as there
>> were no method-level conflicts.  (If there are method-level conflicts
>> then the interactive Merge dialog is presented where the user can make
>> a choice and proceed with the rest of the install by clicking Merge).
>>
>> If something isn't installed at yet, #merge: behaves exactly like #install:.
>
> OK, but that's not what I'm getting at. It's not actually a problem
> yet because this thing's not finished, but my point is that we'd have
> two things that lazily pulled in WebClient... and if SM simply had to
> use version N or later, and InstallerGitHub pulled in version N-1
> because you ran it before you opened the catalog, Bad Things might
> well happen. Especially so since "is WebClient installed?" is answered
> by Smalltalk at: #WebClient (really, this should be self class
> environment at: #WebClient). SM goes "oh cool, it's already loaded, so
> I'll just invoke this new behaviour OH NO MNU"

Hmm, so it seems to me the unconditional merge idea still solves all
cases including that one doesn't it?  If SM was second, it would merge
version N prior to its work.  If InstallerGitHub was second, its merge
of N-1 would have no effect since it was already in the ancestry..

In any case, as you said, this hardly seems like an issue because, if
it were, the energy to rectify it wouldn't be to make them operate on
different verisions but on the same, (most-recent) version.

Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: SMLoader-fbs.78.mcz

Frank Shearar-3
On 26 February 2013 21:02, Chris Muller <[hidden email]> wrote:

> On Tue, Feb 26, 2013 at 2:38 PM, Frank Shearar <[hidden email]> wrote:
>> On 26 February 2013 19:13, Chris Muller <[hidden email]> wrote:
>>> What I did in my MaInstaller was to have a #merge: function which
>>> would normally be used all the time (instead of #install:).  So
>>> whichever one was more up-to-date would be loaded or, even if they
>>> were branches of each other it would still work too as long as there
>>> were no method-level conflicts.  (If there are method-level conflicts
>>> then the interactive Merge dialog is presented where the user can make
>>> a choice and proceed with the rest of the install by clicking Merge).
>>>
>>> If something isn't installed at yet, #merge: behaves exactly like #install:.
>>
>> OK, but that's not what I'm getting at. It's not actually a problem
>> yet because this thing's not finished, but my point is that we'd have
>> two things that lazily pulled in WebClient... and if SM simply had to
>> use version N or later, and InstallerGitHub pulled in version N-1
>> because you ran it before you opened the catalog, Bad Things might
>> well happen. Especially so since "is WebClient installed?" is answered
>> by Smalltalk at: #WebClient (really, this should be self class
>> environment at: #WebClient). SM goes "oh cool, it's already loaded, so
>> I'll just invoke this new behaviour OH NO MNU"
>
> Hmm, so it seems to me the unconditional merge idea still solves all
> cases including that one doesn't it?  If SM was second, it would merge
> version N prior to its work.  If InstallerGitHub was second, its merge
> of N-1 would have no effect since it was already in the ancestry..
>
> In any case, as you said, this hardly seems like an issue because, if
> it were, the energy to rectify it wouldn't be to make them operate on
> different verisions but on the same, (most-recent) version.

The unconditional merge only works if you always install WebClient
prior to some action. That will involve at the least a round trip to
the package-cache, which is a bit wasteful.

And yes, the solution is to make sure that both (all) things used the
same (most recent) version - that's kind've my point :) But maybe we
should stick to the "3 strikes and then refactor" rule and not worry
about it for now.

frank