fun with #updatePackageMethodIn:sourceVersion:

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

fun with #updatePackageMethodIn:sourceVersion:

Dale
Simon,

I'd like to see a more concrete example of the problem.

The version of the project ref is _not_ updated under the following conditions:

  - the configuration of the project ref is not loaded
  - the current version of the project isn't different than the one specified
  - the current version of the project can't be determined

The version of the package spec is _not_ updated under the following conditions:

  - no working copy for the package
  - no file explicitly specified in the spec

Presumably your examples don't all into these categories so you've probably hit a bug that I'll need to investigate...

Dale


--
To unsubscribe, reply using "remove me" as the subject.
Reply | Threaded
Open this post in threaded view
|

Re: fun with #updatePackageMethodIn:sourceVersion:

Simon Denier-3

On 31 mars 2010, at 19:18, Dale Henrichs wrote:

> Simon,
>
> I'd like to see a more concrete example of the problem.


Try it with ConfigurationOfGlamour
Gofer new
        squeaksource: 'Glamour';
        package: 'ConfigurationOfGlamour';
        load.
(Smalltalk at: #ConfigurationOfGlamour) perform: #loadDefault

It also loads Mondrian by default:

ConfigurationOfMondrian project currentVersion
gives  ~2.0-beta.6 [ConfigurationOfMondrian]


I use the OBCmdMetacello commands for the following:
- spawn a new version from the 2.0-beta.4 of Glamour, which uses the previous Mondrian 2.0-beta.5. The package versions are updated but the new version will still reference Mondrian 2.0-beta.5.
- spawn a new version from the baseline 2.0-beta.4-baseline. This time the project version is updated to current version Mondrian 2.0-beta.6. But no package version (because no explicit file in the baseline I guess).


The whole thing raises a secondary question: what is the custom, spawn a version from a baseline or from an explicit version?



>
> The version of the project ref is _not_ updated under the following conditions:
>
>  - the configuration of the project ref is not loaded
>  - the current version of the project isn't different than the one specified
>  - the current version of the project can't be determined
>
> The version of the package spec is _not_ updated under the following conditions:
>
>  - no working copy for the package
>  - no file explicitly specified in the spec
>
> Presumably your examples don't all into these categories so you've probably hit a bug that I'll need to investigate...
>
> Dale
>
>
> --
> To unsubscribe, reply using "remove me" as the subject.

--
 Simon



Reply | Threaded
Open this post in threaded view
|

Re: fun with #updatePackageMethodIn:sourceVersion:

Dale
In reply to this post by Dale
Simon,

You pulled a fast one on me:)

You asked about #updatePackageMethodIn:sourceVersion: which is called by "Update Package Methods", but the example you gave is for "Spawn New Version" which calls #spawnPackageMethodIn:category:named:sourceVersion:targetVersion:blessing:.

Nonetheless, I now understand what you are seeing and also see that "Update Package Methods" doesn't behave like I described (but does behave the way that I expect it too:).

For the moment let's ignore "Update Package Methods" ... I think that there are some semantic differences between updating the package methods and spawning new versions.

For spawning new versions I tend to agree with you ... regardless of whether a version is spawned from a baseline or a version, you _are_ spawing a new version and the expectation is that the packages pick up the mcz versions based on the current image and the project versions should be based on the currentVersion of the project.

The difference between a baseline and a version will only show up for packages/projects that are not loaded in the image ... no version when spawned from a baseline and the existing version when spawned from a version.

Does this make sense to you and does this match your expectations?

Dale
----- "Simon Denier" <[hidden email]> wrote:

| On 31 mars 2010, at 19:18, Dale Henrichs wrote:
|
| > Simon,
| >
| > I'd like to see a more concrete example of the problem.
|
|
| Try it with ConfigurationOfGlamour
| Gofer new
| squeaksource: 'Glamour';
| package: 'ConfigurationOfGlamour';
| load.
| (Smalltalk at: #ConfigurationOfGlamour) perform: #loadDefault
|
| It also loads Mondrian by default:
|
| ConfigurationOfMondrian project currentVersion
| gives  ~2.0-beta.6 [ConfigurationOfMondrian]
|
|
| I use the OBCmdMetacello commands for the following:
| - spawn a new version from the 2.0-beta.4 of Glamour, which uses the
| previous Mondrian 2.0-beta.5. The package versions are updated but the
| new version will still reference Mondrian 2.0-beta.5.
| - spawn a new version from the baseline 2.0-beta.4-baseline. This time
| the project version is updated to current version Mondrian 2.0-beta.6.
| But no package version (because no explicit file in the baseline I
| guess).
|
|
| The whole thing raises a secondary question: what is the custom, spawn
| a version from a baseline or from an explicit version?
|
|
|
| >
| > The version of the project ref is _not_ updated under the following
| conditions:
| >
| >  - the configuration of the project ref is not loaded
| >  - the current version of the project isn't different than the one
| specified
| >  - the current version of the project can't be determined
| >
| > The version of the package spec is _not_ updated under the following
| conditions:
| >
| >  - no working copy for the package
| >  - no file explicitly specified in the spec
| >
| > Presumably your examples don't all into these categories so you've
| probably hit a bug that I'll need to investigate...
| >
| > Dale
| >
| >
| > --
| > To unsubscribe, reply using "remove me" as the subject.
|
| --
|  Simon
Reply | Threaded
Open this post in threaded view
|

Re: fun with #updatePackageMethodIn:sourceVersion:

Simon Denier-3

On 2 avr. 2010, at 23:23, Dale Henrichs wrote:

> Simon,
>
> You pulled a fast one on me:)
>
> You asked about #updatePackageMethodIn:sourceVersion: which is called by "Update Package Methods", but the example you gave is for "Spawn New Version" which calls #spawnPackageMethodIn:category:named:sourceVersion:targetVersion:blessing:.
>
> Nonetheless, I now understand what you are seeing and also see that "Update Package Methods" doesn't behave like I described (but does behave the way that I expect it too:).
>
> For the moment let's ignore "Update Package Methods" ... I think that there are some semantic differences between updating the package methods and spawning new versions.
>
> For spawning new versions I tend to agree with you ... regardless of whether a version is spawned from a baseline or a version, you _are_ spawing a new version and the expectation is that the packages pick up the mcz versions based on the current image and the project versions should be based on the currentVersion of the project.
>
> The difference between a baseline and a version will only show up for packages/projects that are not loaded in the image ... no version when spawned from a baseline and the existing version when spawned from a version.
>
> Does this make sense to you and does this match your expectations?


Yep :)


>
> Dale
> ----- "Simon Denier" <[hidden email]> wrote:
>
> | On 31 mars 2010, at 19:18, Dale Henrichs wrote:
> |
> | > Simon,
> | >
> | > I'd like to see a more concrete example of the problem.
> |
> |
> | Try it with ConfigurationOfGlamour
> | Gofer new
> | squeaksource: 'Glamour';
> | package: 'ConfigurationOfGlamour';
> | load.
> | (Smalltalk at: #ConfigurationOfGlamour) perform: #loadDefault
> |
> | It also loads Mondrian by default:
> |
> | ConfigurationOfMondrian project currentVersion
> | gives  ~2.0-beta.6 [ConfigurationOfMondrian]
> |
> |
> | I use the OBCmdMetacello commands for the following:
> | - spawn a new version from the 2.0-beta.4 of Glamour, which uses the
> | previous Mondrian 2.0-beta.5. The package versions are updated but the
> | new version will still reference Mondrian 2.0-beta.5.
> | - spawn a new version from the baseline 2.0-beta.4-baseline. This time
> | the project version is updated to current version Mondrian 2.0-beta.6.
> | But no package version (because no explicit file in the baseline I
> | guess).
> |
> |
> | The whole thing raises a secondary question: what is the custom, spawn
> | a version from a baseline or from an explicit version?
> |
> |
> |
> | >
> | > The version of the project ref is _not_ updated under the following
> | conditions:
> | >
> | >  - the configuration of the project ref is not loaded
> | >  - the current version of the project isn't different than the one
> | specified
> | >  - the current version of the project can't be determined
> | >
> | > The version of the package spec is _not_ updated under the following
> | conditions:
> | >
> | >  - no working copy for the package
> | >  - no file explicitly specified in the spec
> | >
> | > Presumably your examples don't all into these categories so you've
> | probably hit a bug that I'll need to investigate...
> | >
> | > Dale
> | >
> | >
> | > --
> | > To unsubscribe, reply using "remove me" as the subject.
> |
> | --
> |  Simon

--
 Simon



Reply | Threaded
Open this post in threaded view
|

Re: fun with #updatePackageMethodIn:sourceVersion:

Dale
Okay,

sumitted http://code.google.com/p/metacello/issues/detail?id=70 for this one... thanks....

I'll send mail with my thoughts on updatePackageMethod, if when I  think through it I still think there are different semantics...

Thanks,

Dale
----- "Simon Denier" <[hidden email]> wrote:

| On 2 avr. 2010, at 23:23, Dale Henrichs wrote:
|
| > Simon,
| >
| > You pulled a fast one on me:)
| >
| > You asked about #updatePackageMethodIn:sourceVersion: which is
| called by "Update Package Methods", but the example you gave is for
| "Spawn New Version" which calls
| #spawnPackageMethodIn:category:named:sourceVersion:targetVersion:blessing:.
|
| >
| > Nonetheless, I now understand what you are seeing and also see that
| "Update Package Methods" doesn't behave like I described (but does
| behave the way that I expect it too:).
| >
| > For the moment let's ignore "Update Package Methods" ... I think
| that there are some semantic differences between updating the package
| methods and spawning new versions.
| >
| > For spawning new versions I tend to agree with you ... regardless of
| whether a version is spawned from a baseline or a version, you _are_
| spawing a new version and the expectation is that the packages pick up
| the mcz versions based on the current image and the project versions
| should be based on the currentVersion of the project.
| >
| > The difference between a baseline and a version will only show up
| for packages/projects that are not loaded in the image ... no version
| when spawned from a baseline and the existing version when spawned
| from a version.
| >
| > Does this make sense to you and does this match your expectations?
|
|
| Yep :)
|
|
| >
| > Dale
| > ----- "Simon Denier" <[hidden email]> wrote:
| >
| > | On 31 mars 2010, at 19:18, Dale Henrichs wrote:
| > |
| > | > Simon,
| > | >
| > | > I'd like to see a more concrete example of the problem.
| > |
| > |
| > | Try it with ConfigurationOfGlamour
| > | Gofer new
| > | squeaksource: 'Glamour';
| > | package: 'ConfigurationOfGlamour';
| > | load.
| > | (Smalltalk at: #ConfigurationOfGlamour) perform: #loadDefault
| > |
| > | It also loads Mondrian by default:
| > |
| > | ConfigurationOfMondrian project currentVersion
| > | gives  ~2.0-beta.6 [ConfigurationOfMondrian]
| > |
| > |
| > | I use the OBCmdMetacello commands for the following:
| > | - spawn a new version from the 2.0-beta.4 of Glamour, which uses
| the
| > | previous Mondrian 2.0-beta.5. The package versions are updated but
| the
| > | new version will still reference Mondrian 2.0-beta.5.
| > | - spawn a new version from the baseline 2.0-beta.4-baseline. This
| time
| > | the project version is updated to current version Mondrian
| 2.0-beta.6.
| > | But no package version (because no explicit file in the baseline
| I
| > | guess).
| > |
| > |
| > | The whole thing raises a secondary question: what is the custom,
| spawn
| > | a version from a baseline or from an explicit version?
| > |
| > |
| > |
| > | >
| > | > The version of the project ref is _not_ updated under the
| following
| > | conditions:
| > | >
| > | >  - the configuration of the project ref is not loaded
| > | >  - the current version of the project isn't different than the
| one
| > | specified
| > | >  - the current version of the project can't be determined
| > | >
| > | > The version of the package spec is _not_ updated under the
| following
| > | conditions:
| > | >
| > | >  - no working copy for the package
| > | >  - no file explicitly specified in the spec
| > | >
| > | > Presumably your examples don't all into these categories so
| you've
| > | probably hit a bug that I'll need to investigate...
| > | >
| > | > Dale
| > | >
| > | >
| > | > --
| > | > To unsubscribe, reply using "remove me" as the subject.
| > |
| > | --
| > |  Simon
|
| --
|  Simon