On Fri, Sep 28, 2012 at 3:42 PM, Dale Henrichs <[email protected]> wrote:
> > > ----- Original Message ----- > | From: "Mariano Martinez Peck" <[email protected]> > | To: [email protected] > | Sent: Friday, September 28, 2012 12:59:46 AM > | Subject: Re: [Pharo-project] Metacello bleedingEdge question > | > | > | > | > | On Thu, Sep 27, 2012 at 6:46 PM, Dale Henrichs < [email protected] > | > wrote: > | > | > | Sven, > | > | The versions in ConfigurationOfZTimestamp aren't quite defined > | correctly ... bleedingEdge defaults to loading the latest baseline > | version. A baseline version is declared by setting the blessing to > | #baseline: > | > | spec blessing: #baseline. > | > | Your versions in ConfigurationOfZTimestamp are importing from the > | '1-baseline' but are not changing the blessing, so Metacello doesn't > | know that 1, 2, and 3 are literal versions and not baselines. So > | version 3 looks like the "latest baseline version".. > | > | > | > | Dale, but baselines are supposed to mandatory have the "spec > | blessing: #baseline.", right? so why would metacello think that > | versions 1, 2, and 3 are baselines instead of versions? > > Mariano, > > Short answer is that literal versions are defined by importing from the > baseline, so the literal version inherits the blessing from the baseline. > Therefore you have to specify a blessing of #development or #release in the > literal version to distinguish it from the baseline. > > Thanks Dale for the explanation. Now I understand. > Long answer is... > > For loading purposes, it actually doesn't matter what the blessing is ... > In Metacello, if a package spec has a `file` specified, then the `file` is > loaded. if the `file` is not specified then the latest version of the mcz > file is loaded ... > > By convention, when we define baseline versions we don't specify the > `file` for the packages. > > By convention when we define literal versions we do specify the `file` for > the packages. The expression: > > spec package: 'Example-Core' with: 'Example-Core-dkh.25' > > defines the `file` for the 'Example-Core' package spec to be > 'Example-Core-dkh.25'. > > The blessing is used as an hint by Metacello when using the helper > functions like #bleedingEdge or #latestVersion that implement functionality > based on the conventions. > > #bleedingEdge is defined as the latest version with a #baseline blessing. > > #latestVersion is defined as the latest version whose blessing is neither > #baseline nor #development. > > Versions with a #broken blessing are excluded from consideration... > > Dale > > -- Mariano http://marianopeck.wordpress.com
