in a version what is the difference between version100: spec <version: '1.0' imports: #('1.0-baseline') > spec for: #common do: [ spec blessing: #release. spec package: 'XML-Parser' with: 'XML-Parser-Alexandre_Bergel.20'] and version100: spec <version: '1.0' imports: #('1.0-baseline') > spec for: #common do: [ spec blessing: #development. spec package: 'XML-Parser' with: 'XML-Parser-Alexandre_Bergel.20'] Because here when I load a version I say that I want number 20 and not other. What is the impact on stable definition specified elsewhere. Stef |
Stef, the blessing can be whatever you want to give semantics to an specific version. You can even let it empty if you want. It is just a way to give more information to a version than a simple number. You can tag what you want, say #release, #beta, #betaRelease, #releaseStable, #xxx. No problem.
Now, apart from that, it is ALSO used internally by metacello to perform certain operations. For example, #latestVersion will answer the LAST version which blessing is NOT any of: #development #broken #baseline. See #excludeFromLatestVersion. The same happens (I think) with project references. If you DO NOT specify anything in #versionString, and you DO NOT specify a version to a project reference (using #project:with:), then Metacello will load by default the "latest". There again, I think it uses #excludeFromLatestVersion Notice that in baselines, (not versions), the blessing for baseline is important and mandatory because it is the way Metacello has to know that such version is a baseline. Something I don't like in Metacello is that since internally it manages versions and baselines as the same thing, the user has to take care of this. For example, for a baseline, I would like not to use <version: '1.0-baseline' > but instead <baseline: '1.0-baseline' > . And doing it this way, you shouldn't even need to define the blessing for baseline. Cheers On Sat, Dec 31, 2011 at 10:49 AM, stephane ducasse <[hidden email]> wrote:
-- Mariano http://marianopeck.wordpress.com |
On Dec 31, 2011, at 11:28 AM, Mariano Martinez Peck wrote: > Stef, the blessing can be whatever you want to give semantics to an specific version. You can even let it empty if you want. It is just a way to give more information to a version than a simple number. You can tag what you want, say #release, #beta, #betaRelease, #releaseStable, #xxx. No problem. > Now, apart from that, it is ALSO used internally by metacello to perform certain operations. For example, #latestVersion will answer the LAST version which blessing is NOT any of: #development #broken #baseline. See #excludeFromLatestVersion. Now it looks a bit complex. Still I do not understand what it means to put #development for a version from Metacello perspective. > The same happens (I think) with project references. If you DO NOT specify anything in #versionString, and you DO NOT specify a version to a project reference (using #project:with:), then Metacello will load by default the "latest". There again, I think it uses #excludeFromLatestVersion > > Notice that in baselines, (not versions), the blessing for baseline is important and mandatory because it is the way Metacello has to know that such version is a baseline. Something I don't like in Metacello is that since internally it manages versions and baselines as the same thing, the user has to take care of this. For example, for a baseline, I would like not to use <version: '1.0-baseline' > but instead <baseline: '1.0-baseline' > . And doing it this way, you shouldn't even need to define the blessing for baseline. yes me too. > > Cheers > > On Sat, Dec 31, 2011 at 10:49 AM, stephane ducasse <[hidden email]> wrote: > > > in a version what is the difference between > > version100: spec > <version: '1.0' imports: #('1.0-baseline') > > > spec for: #common do: [ > spec blessing: #release. > spec > package: 'XML-Parser' with: 'XML-Parser-Alexandre_Bergel.20'] > > and > > version100: spec > <version: '1.0' imports: #('1.0-baseline') > > > spec for: #common do: [ > spec blessing: #development. > spec > package: 'XML-Parser' with: 'XML-Parser-Alexandre_Bergel.20'] > > > Because here when I load a version I say that I want number 20 and not other. > > What is the impact on stable definition specified elsewhere. > > Stef > > > > -- > Mariano > http://marianopeck.wordpress.com > |
On Sat, Dec 31, 2011 at 12:27 PM, stephane ducasse <[hidden email]> wrote:
But nobody forces you to use #latestVersion. If you do want, then pay attention to the blessing. Still I do not understand what it means to put #development for a version from Metacello perspective. Even if I am right about this case, it is not very likely to happen since most of the times you define something in #versionString or you specify a version to the project reference.
-- Mariano http://marianopeck.wordpress.com |
On Dec 31, 2011, at 3:25 PM, Mariano Martinez Peck wrote: > > > On Sat, Dec 31, 2011 at 12:27 PM, stephane ducasse <[hidden email]> wrote: > > On Dec 31, 2011, at 11:28 AM, Mariano Martinez Peck wrote: > > > Stef, the blessing can be whatever you want to give semantics to an specific version. You can even let it empty if you want. It is just a way to give more information to a version than a simple number. You can tag what you want, say #release, #beta, #betaRelease, #releaseStable, #xxx. No problem. > > Now, apart from that, it is ALSO used internally by metacello to perform certain operations. For example, #latestVersion will answer the LAST version which blessing is NOT any of: #development #broken #baseline. See #excludeFromLatestVersion. > > Now it looks a bit complex. > > > But nobody forces you to use #latestVersion. If you do want, then pay attention to the blessing. Sure but I understand that the tagging of a version can be anything. Now I do not understand the default semantics of the specific label used by metacello when used in a version. > > > Still I do not understand what it means to put #development for a version from Metacello perspective. > > > > The same happens (I think) with project references. If you DO NOT specify anything in #versionString, and you DO NOT specify a version to a project reference (using #project:with:), then Metacello will load by default the "latest". There again, I think it uses #excludeFromLatestVersion > > > Even if I am right about this case, it is not very likely to happen since most of the times you define something in #versionString or you specify a version to the project reference. > > > > > > Notice that in baselines, (not versions), the blessing for baseline is important and mandatory because it is the way Metacello has to know that such version is a baseline. Something I don't like in Metacello is that since internally it manages versions and baselines as the same thing, the user has to take care of this. For example, for a baseline, I would like not to use <version: '1.0-baseline' > but instead <baseline: '1.0-baseline' > . And doing it this way, you shouldn't even need to define the blessing for baseline. > > yes me too. > > > > > Cheers > > > > On Sat, Dec 31, 2011 at 10:49 AM, stephane ducasse <[hidden email]> wrote: > > > > > > in a version what is the difference between > > > > version100: spec > > <version: '1.0' imports: #('1.0-baseline') > > > > > spec for: #common do: [ > > spec blessing: #release. > > spec > > package: 'XML-Parser' with: 'XML-Parser-Alexandre_Bergel.20'] > > > > and > > > > version100: spec > > <version: '1.0' imports: #('1.0-baseline') > > > > > spec for: #common do: [ > > spec blessing: #development. > > spec > > package: 'XML-Parser' with: 'XML-Parser-Alexandre_Bergel.20'] > > > > > > Because here when I load a version I say that I want number 20 and not other. > > > > What is the impact on stable definition specified elsewhere. > > > > Stef > > > > > > > > -- > > Mariano > > http://marianopeck.wordpress.com > > > > > > > -- > Mariano > http://marianopeck.wordpress.com > |
On Sat, Dec 31, 2011 at 7:15 PM, stephane ducasse <[hidden email]> wrote:
I do too. Now I do not understand the default semantics of the specific label used by metacello when used in a version. I understand it's like a comment. If blessing didn't exist, you could put as an equivalent: "This version is a formal release, blah blah". or "this version is an intermediate development version." The only reason I see to make it part of the code, is that you can integrate it into the tools and show them, filter them... That's what I understand, hehe. Guille |
In reply to this post by stephane ducasse-2
Stef,
As a blessing, #development has two effects: - versions with #development blessing are excluded from the #latestVersion calculation - before loading a project version with a #development blessing, the configuration of the project is refreshed from the repository (automatic #updateProject) The blessing #broken means that the version should be ignored. The blessing #baseline identifies the baseline version. The blessing #release is the default blessing if no other blessing is specified. Keep in mind that the blessing is inherited from the baseline, which means that if you don't specify a blessing in a version then the version will inherit the #baseline blessing from it's baseline and look like a baseline as well. As Mariano points out, any symbol may be used as a blessing. I recommend that one always specifies a blessing for a version (#development, #release, #broken) to differentiate the version from a baseline version. From a convention perspective, a #development blessing means that the version is under construction and may change at any moment. A version with a #release blessing means that it will never be changed again and can be safely used. The MetacelloToolBox operations enforces the above conventions: - an error is thrown if you attempt to programmatically modify a version with a #release blessing A number of the helper methods in the MetacelloToolBox API uses the blessing to identify the "current development version" and "latest release". Dale ----- Original Message ----- | From: "stephane ducasse" <[hidden email]> | To: [hidden email] | Sent: Saturday, December 31, 2011 1:49:22 AM | Subject: [Metacello] question about version blessing: argument | | | | in a version what is the difference between | | version100: spec | <version: '1.0' imports: #('1.0-baseline') > | | spec for: #common do: [ | spec blessing: #release. | spec | package: 'XML-Parser' with: 'XML-Parser-Alexandre_Bergel.20'] | | and | | version100: spec | <version: '1.0' imports: #('1.0-baseline') > | | spec for: #common do: [ | spec blessing: #development. | spec | package: 'XML-Parser' with: 'XML-Parser-Alexandre_Bergel.20'] | | | Because here when I load a version I say that I want number 20 and | not other. | | What is the impact on stable definition specified elsewhere. | | Stef | |
Thanks I will digest and add that to the chapter.
On Jan 3, 2012, at 8:38 PM, Dale Henrichs wrote: > Stef, > > As a blessing, #development has two effects: > > - versions with #development blessing are excluded from > the #latestVersion calculation > - before loading a project version with a #development > blessing, the configuration of the project is refreshed > from the repository (automatic #updateProject) > > The blessing #broken means that the version should be ignored. > > The blessing #baseline identifies the baseline version. > > The blessing #release is the default blessing if no other blessing is specified. Keep in mind that the blessing is inherited from the baseline, which means that if you don't specify a blessing in a version then the version will inherit the #baseline blessing from it's baseline and look like a baseline as well. > > As Mariano points out, any symbol may be used as a blessing. I recommend that one always specifies a blessing for a version (#development, #release, #broken) to differentiate the version from a baseline version. > > From a convention perspective, a #development blessing means that the version is under construction and may change at any moment. A version with a #release blessing means that it will never be changed again and can be safely used. > > The MetacelloToolBox operations enforces the above conventions: > > - an error is thrown if you attempt to programmatically modify > a version with a #release blessing > > A number of the helper methods in the MetacelloToolBox API uses the blessing to identify the "current development version" and "latest release". > > Dale > > ----- Original Message ----- > | From: "stephane ducasse" <[hidden email]> > | To: [hidden email] > | Sent: Saturday, December 31, 2011 1:49:22 AM > | Subject: [Metacello] question about version blessing: argument > | > | > | > | in a version what is the difference between > | > | version100: spec > | <version: '1.0' imports: #('1.0-baseline') > > | > | spec for: #common do: [ > | spec blessing: #release. > | spec > | package: 'XML-Parser' with: 'XML-Parser-Alexandre_Bergel.20'] > | > | and > | > | version100: spec > | <version: '1.0' imports: #('1.0-baseline') > > | > | spec for: #common do: [ > | spec blessing: #development. > | spec > | package: 'XML-Parser' with: 'XML-Parser-Alexandre_Bergel.20'] > | > | > | Because here when I load a version I say that I want number 20 and > | not other. > | > | What is the impact on stable definition specified elsewhere. > | > | Stef > | |
Free forum by Nabble | Edit this page |