question about stable and dev

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

question about stable and dev

stephane ducasse-2
Hi guys

I have th following baseline

baseline103: spec
        <version: '1.3-baseline'>
       
        spec for: #pharo do: [
                spec blessing: #baseline.
                spec repository: 'http://ss3.gemstone.com/ss/Kozen'.
                spec package: 'Kozen'.
                spec package: 'KoCizen' with: [spec requires: 'Citezen'].
                spec package: 'KozStef' with: [spec requires: 'KoCizen'].
                spec package: 'KozSimon' with: [spec requires: 'KoCizen'].
                               
                spec group: 'default' with: #('Kozen').
                spec group: 'full' with: #('Kozen' 'KoCizen' 'KozStef' 'KozSimon').
               
        spec project: 'Citezen' with: [
                        spec className: 'ConfigurationOfCitezen';
                        versionString: #stable;
                        loads: #('NoWeb' );
                        repository: 'http://ss3.gemstone.com/ss/citezen'.
                        ]
                ].
       
and one version


version12: spec
        <version: '1.2' imports: #('1.3-baseline')>
       
        spec for: #'pharo' do: [
                spec description: 'Honoring hooks (defaultTitle -> title)'.
                spec author: 'StephaneDucasse'.
                spec timestamp: '12/03/2012 21:45'.
                spec
                        package: 'Kozen' with: 'Kozen-StephaneDucasse.32';
                        package: 'KoCizen' with: 'KoCizen-StephaneDucasse.6';
                        package: 'KozStef' with: 'KozStef-StephaneDucasse.9' ;
                        package: 'KozSimon' with: 'KozSimon-StephaneDucasse.2'
                        .].


Now I would like to be able to say that I would like load the same version but with the development version of Citezen.

May be I should not hardcode in the baseline that I want to load a stable version.
How do I define that in the version then?

I will add this example with the solution to the chapter.

Stef



Reply | Threaded
Open this post in threaded view
|

Re: question about stable and dev

Dale Henrichs
Stef,

One change to your version12: method (once Issue 154[1] is fixed, then my comment doesn't apply):

version12: spec
        <version: '1.2' imports: #('1.3-baseline')>
       
        spec for: #'pharo' do: [
                spec description: 'Honoring hooks (defaultTitle -> title)'.
"----->"        spec blessing: #release.
                spec author: 'StephaneDucasse'.
                spec timestamp: '12/03/2012 21:45'.
                spec
                        package: 'Kozen' with: 'Kozen-StephaneDucasse.32';
                        package: 'KoCizen' with: 'KoCizen-StephaneDucasse.6';
                        package: 'KozStef' with: 'KozStef-StephaneDucasse.9' ;
                        package: 'KozSimon' with: 'KozSimon-StephaneDucasse.2'
                        .].


Without the `blessing: #release` line, Metacello doesn't know that version '1.2' is not a baseline version. In other words version '1.2' inherits the blessing from the imported baseline and you need to override the blessing.


version12: spec
        <version: '1.2' imports: #('1.3-baseline')>
       
        spec for: #'pharo' do: [
                spec description: 'Honoring hooks (defaultTitle -> title)'.
                spec blessing: #release.
                spec author: 'StephaneDucasse'.
                spec timestamp: '12/03/2012 21:45'.
"----->"        spec project: 'Citezen' with: #'develoment'.
                spec
                        package: 'Kozen' with: 'Kozen-StephaneDucasse.32';
                        package: 'KoCizen' with: 'KoCizen-StephaneDucasse.6';
                        package: 'KozStef' with: 'KozStef-StephaneDucasse.9' ;
                        package: 'KozSimon' with: 'KozSimon-StephaneDucasse.2'
                        .].


With the `project: 'Citezen'` line, you are overriding the version specified in the baseline ...

Does this answer the questions?

Dale

[1] http://code.google.com/p/metacello/issues/detail?id=154
----- Original Message -----
| From: "stephane ducasse" <[hidden email]>
| To: [hidden email]
| Sent: Tuesday, March 13, 2012 7:36:48 AM
| Subject: [Metacello] question about stable and dev
|
| Hi guys
|
| I have th following baseline
|
| baseline103: spec
| <version: '1.3-baseline'>
|
| spec for: #pharo do: [
| spec blessing: #baseline.
| spec repository: 'http://ss3.gemstone.com/ss/Kozen'.
| spec package: 'Kozen'.
| spec package: 'KoCizen' with: [spec requires: 'Citezen'].
| spec package: 'KozStef' with: [spec requires: 'KoCizen'].
| spec package: 'KozSimon' with: [spec requires: 'KoCizen'].
|
| spec group: 'default' with: #('Kozen').
| spec group: 'full' with: #('Kozen' 'KoCizen' 'KozStef' 'KozSimon').
|
| spec project: 'Citezen' with: [
| spec className: 'ConfigurationOfCitezen';
| versionString: #stable;
| loads: #('NoWeb' );
| repository: 'http://ss3.gemstone.com/ss/citezen'.
| ]
| ].
|
| and one version
|
|
| version12: spec
| <version: '1.2' imports: #('1.3-baseline')>
|
| spec for: #'pharo' do: [
| spec description: 'Honoring hooks (defaultTitle -> title)'.
| spec author: 'StephaneDucasse'.
| spec timestamp: '12/03/2012 21:45'.
| spec
| package: 'Kozen' with: 'Kozen-StephaneDucasse.32';
| package: 'KoCizen' with: 'KoCizen-StephaneDucasse.6';
| package: 'KozStef' with: 'KozStef-StephaneDucasse.9' ;
| package: 'KozSimon' with: 'KozSimon-StephaneDucasse.2'
| .].
|
|
| Now I would like to be able to say that I would like load the same
| version but with the development version of Citezen.
|
| May be I should not hardcode in the baseline that I want to load a
| stable version.
| How do I define that in the version then?
|
| I will add this example with the solution to the chapter.
|
| Stef
|
|
|
|
Reply | Threaded
Open this post in threaded view
|

Re: question about stable and dev

stephane ducasse-2
Thanks. I made a mistake to put the stable in the baseline because I cannot control it from versions.

Now is release the same as stable?
>   spec blessing: #release.
I would have put
          spec blessing: #stable


Tx

On Mar 13, 2012, at 6:54 PM, Dale Henrichs wrote:

> Stef,
>
> One change to your version12: method (once Issue 154[1] is fixed, then my comment doesn't apply):
>
> version12: spec
>        <version: '1.2' imports: #('1.3-baseline')>
>
>        spec for: #'pharo' do: [
>                spec description: 'Honoring hooks (defaultTitle -> title)'.
> "----->"        spec blessing: #release.
>                spec author: 'StephaneDucasse'.
>                spec timestamp: '12/03/2012 21:45'.
>                spec
>                        package: 'Kozen' with: 'Kozen-StephaneDucasse.32';
>                        package: 'KoCizen' with: 'KoCizen-StephaneDucasse.6';
>                        package: 'KozStef' with: 'KozStef-StephaneDucasse.9' ;
>                        package: 'KozSimon' with: 'KozSimon-StephaneDucasse.2'
>                        .].
>
>
> Without the `blessing: #release` line, Metacello doesn't know that version '1.2' is not a baseline version. In other words version '1.2' inherits the blessing from the imported baseline and you need to override the blessing.
>
>
> version12: spec
>        <version: '1.2' imports: #('1.3-baseline')>
>
>        spec for: #'pharo' do: [
>                spec description: 'Honoring hooks (defaultTitle -> title)'.
>                spec blessing: #release.
>                spec author: 'StephaneDucasse'.
>                spec timestamp: '12/03/2012 21:45'.
> "----->"        spec project: 'Citezen' with: #'develoment'.
>                spec
>                        package: 'Kozen' with: 'Kozen-StephaneDucasse.32';
>                        package: 'KoCizen' with: 'KoCizen-StephaneDucasse.6';
>                        package: 'KozStef' with: 'KozStef-StephaneDucasse.9' ;
>                        package: 'KozSimon' with: 'KozSimon-StephaneDucasse.2'
>                        .].
>
>
> With the `project: 'Citezen'` line, you are overriding the version specified in the baseline ...
>
> Does this answer the questions?
>
> Dale
>
> [1] http://code.google.com/p/metacello/issues/detail?id=154
> ----- Original Message -----
> | From: "stephane ducasse" <[hidden email]>
> | To: [hidden email]
> | Sent: Tuesday, March 13, 2012 7:36:48 AM
> | Subject: [Metacello] question about stable and dev
> |
> | Hi guys
> |
> | I have th following baseline
> |
> | baseline103: spec
> | <version: '1.3-baseline'>
> |
> | spec for: #pharo do: [
> | spec blessing: #baseline.
> | spec repository: 'http://ss3.gemstone.com/ss/Kozen'.
> | spec package: 'Kozen'.
> | spec package: 'KoCizen' with: [spec requires: 'Citezen'].
> | spec package: 'KozStef' with: [spec requires: 'KoCizen'].
> | spec package: 'KozSimon' with: [spec requires: 'KoCizen'].
> |
> | spec group: 'default' with: #('Kozen').
> | spec group: 'full' with: #('Kozen' 'KoCizen' 'KozStef' 'KozSimon').
> |
> | spec project: 'Citezen' with: [
> | spec className: 'ConfigurationOfCitezen';
> | versionString: #stable;
> | loads: #('NoWeb' );
> | repository: 'http://ss3.gemstone.com/ss/citezen'.
> | ]
> | ].
> |
> | and one version
> |
> |
> | version12: spec
> | <version: '1.2' imports: #('1.3-baseline')>
> |
> | spec for: #'pharo' do: [
> | spec description: 'Honoring hooks (defaultTitle -> title)'.
> | spec author: 'StephaneDucasse'.
> | spec timestamp: '12/03/2012 21:45'.
> | spec
> | package: 'Kozen' with: 'Kozen-StephaneDucasse.32';
> | package: 'KoCizen' with: 'KoCizen-StephaneDucasse.6';
> | package: 'KozStef' with: 'KozStef-StephaneDucasse.9' ;
> | package: 'KozSimon' with: 'KozSimon-StephaneDucasse.2'
> | .].
> |
> |
> | Now I would like to be able to say that I would like load the same
> | version but with the development version of Citezen.
> |
> | May be I should not hardcode in the baseline that I want to load a
> | stable version.
> | How do I define that in the version then?
> |
> | I will add this example with the solution to the chapter.
> |
> | Stef
> |
> |
> |
> |

Reply | Threaded
Open this post in threaded view
|

Re: question about stable and dev

stephane ducasse-2
In reply to this post by Dale Henrichs
Dale

Am I correct that I could have the original baseline and and I could simply override the Citezen setting in my version as follows?



> | baseline103: spec
> | <version: '1.3-baseline'>
> |
> | spec for: #pharo do: [
> | spec blessing: #baseline.
> | spec repository: 'http://ss3.gemstone.com/ss/Kozen'.
> | spec package: 'Kozen'.
> | spec package: 'KoCizen' with: [spec requires: 'Citezen'].
> | spec package: 'KozStef' with: [spec requires: 'KoCizen'].
> | spec package: 'KozSimon' with: [spec requires: 'KoCizen'].
> |
> | spec group: 'default' with: #('Kozen').
> | spec group: 'full' with: #('Kozen' 'KoCizen' 'KozStef' 'KozSimon').
> |
> | spec project: 'Citezen' with: [
> | spec className: 'ConfigurationOfCitezen';
> | versionString: #stable;
> | loads: #('NoWeb' );
> | repository: 'http://ss3.gemstone.com/ss/citezen'.
> | ]
> | ].
> |
> | and one version
> |
> |
> | version12: spec
> | <version: '1.2' imports: #('1.3-baseline')>
> |
> | spec for: #'pharo' do: [
> | spec description: 'Honoring hooks (defaultTitle -> title)'.
                spec blessing: #release.
                 spec project: 'Citezen' with: #'development'.


> | spec author: 'StephaneDucasse'.
> | spec timestamp: '12/03/2012 21:45'.
> | spec
> | package: 'Kozen' with: 'Kozen-StephaneDucasse.32';
> | package: 'KoCizen' with: 'KoCizen-StephaneDucasse.6';
> | package: 'KozStef' with: 'KozStef-StephaneDucasse.9' ;
> | package: 'KozSimon' with: 'KozSimon-StephaneDucasse.2'
> | .].
> |
> |
> | Now I would like to be able to say that I would like load the same
> | version but with the development version of Citezen.
> |
> | May be I should not hardcode in the baseline that I want to load a
> | stable version.
> | How do I define that in the version then?
> |
> | I will add this example with the solution to the chapter.
> |
> | Stef
> |
> |
> |
> |

Reply | Threaded
Open this post in threaded view
|

Re: question about stable and dev

stephane ducasse-2
In reply to this post by Dale Henrichs


> Stef,
>
> One change to your version12: method (once Issue 154[1] is fixed, then my comment doesn't apply):
>
> version12: spec
>        <version: '1.2' imports: #('1.3-baseline')>
>
>        spec for: #'pharo' do: [
>                spec description: 'Honoring hooks (defaultTitle -> title)'.
> "----->"        spec blessing: #release.
>                spec author: 'StephaneDucasse'.
>                spec timestamp: '12/03/2012 21:45'.
>                spec
>                        package: 'Kozen' with: 'Kozen-StephaneDucasse.32';
>                        package: 'KoCizen' with: 'KoCizen-StephaneDucasse.6';
>                        package: 'KozStef' with: 'KozStef-StephaneDucasse.9' ;
>                        package: 'KozSimon' with: 'KozSimon-StephaneDucasse.2'
>                        .].

Oops I always forgot this.


>
>
> Without the `blessing: #release` line, Metacello doesn't know that version '1.2' is not a baseline version. In other words version '1.2' inherits the blessing from the imported baseline and you need to override the blessing.
>
>
> version12: spec
>        <version: '1.2' imports: #('1.3-baseline')>
>
>        spec for: #'pharo' do: [
>                spec description: 'Honoring hooks (defaultTitle -> title)'.
>                spec blessing: #release.
>                spec author: 'StephaneDucasse'.
>                spec timestamp: '12/03/2012 21:45'.
> "----->"        spec project: 'Citezen' with: #'develoment'.
>                spec
>                        package: 'Kozen' with: 'Kozen-StephaneDucasse.32';
>                        package: 'KoCizen' with: 'KoCizen-StephaneDucasse.6';
>                        package: 'KozStef' with: 'KozStef-StephaneDucasse.9' ;
>                        package: 'KozSimon' with: 'KozSimon-StephaneDucasse.2'
>                        .].
>
>
> With the `project: 'Citezen'` line, you are overriding the version specified in the baseline ...
>
> Does this answer the questions?
>
> Dale
>
> [1] http://code.google.com/p/metacello/issues/detail?id=154
> ----- Original Message -----
> | From: "stephane ducasse" <[hidden email]>
> | To: [hidden email]
> | Sent: Tuesday, March 13, 2012 7:36:48 AM
> | Subject: [Metacello] question about stable and dev
> |
> | Hi guys
> |
> | I have th following baseline
> |
> | baseline103: spec
> | <version: '1.3-baseline'>
> |
> | spec for: #pharo do: [
> | spec blessing: #baseline.
> | spec repository: 'http://ss3.gemstone.com/ss/Kozen'.
> | spec package: 'Kozen'.
> | spec package: 'KoCizen' with: [spec requires: 'Citezen'].
> | spec package: 'KozStef' with: [spec requires: 'KoCizen'].
> | spec package: 'KozSimon' with: [spec requires: 'KoCizen'].
> |
> | spec group: 'default' with: #('Kozen').
> | spec group: 'full' with: #('Kozen' 'KoCizen' 'KozStef' 'KozSimon').
> |
> | spec project: 'Citezen' with: [
> | spec className: 'ConfigurationOfCitezen';
> | versionString: #stable;
> | loads: #('NoWeb' );
> | repository: 'http://ss3.gemstone.com/ss/citezen'.
> | ]
> | ].
> |
> | and one version
> |
> |
> | version12: spec
> | <version: '1.2' imports: #('1.3-baseline')>
> |
> | spec for: #'pharo' do: [
> | spec description: 'Honoring hooks (defaultTitle -> title)'.
> | spec author: 'StephaneDucasse'.
> | spec timestamp: '12/03/2012 21:45'.
> | spec
> | package: 'Kozen' with: 'Kozen-StephaneDucasse.32';
> | package: 'KoCizen' with: 'KoCizen-StephaneDucasse.6';
> | package: 'KozStef' with: 'KozStef-StephaneDucasse.9' ;
> | package: 'KozSimon' with: 'KozSimon-StephaneDucasse.2'
> | .].
> |
> |
> | Now I would like to be able to say that I would like load the same
> | version but with the development version of Citezen.
> |
> | May be I should not hardcode in the baseline that I want to load a
> | stable version.
> | How do I define that in the version then?
> |
> | I will add this example with the solution to the chapter.
> |
> | Stef
> |
> |
> |
> |

Reply | Threaded
Open this post in threaded view
|

Re: question about stable and dev

Dale Henrichs
In reply to this post by stephane ducasse-2
The #blessing: is different from the #version:. For blessings there are only three values that have meaning:

  - #baseline - declaring a baseline version
  - #development - meaning the the version definition is in
    flux and may change over time. With any other value
    of blessing, the spec should never be changed.
  - #broken - meaning that the version is simply ignored ...

No other blessing values have meaning within Metacello, so #release or #stable may be used

Dale
----- Original Message -----
| From: "stephane ducasse" <[hidden email]>
| To: [hidden email]
| Sent: Tuesday, March 13, 2012 1:12:47 PM
| Subject: Re: [Metacello] question about stable and dev
|
| Thanks. I made a mistake to put the stable in the baseline because I
| cannot control it from versions.
|
| Now is release the same as stable?
| >   spec blessing: #release.
| I would have put
|  spec blessing: #stable
|
|
| Tx
|
| On Mar 13, 2012, at 6:54 PM, Dale Henrichs wrote:
|
| > Stef,
| >
| > One change to your version12: method (once Issue 154[1] is fixed,
| > then my comment doesn't apply):
| >
| > version12: spec
| >        <version: '1.2' imports: #('1.3-baseline')>
| >
| >        spec for: #'pharo' do: [
| >                spec description: 'Honoring hooks (defaultTitle ->
| >                title)'.
| > "----->"        spec blessing: #release.
| >                spec author: 'StephaneDucasse'.
| >                spec timestamp: '12/03/2012 21:45'.
| >                spec
| >                        package: 'Kozen' with:
| >                        'Kozen-StephaneDucasse.32';
| >                        package: 'KoCizen' with:
| >                        'KoCizen-StephaneDucasse.6';
| >                        package: 'KozStef' with:
| >                        'KozStef-StephaneDucasse.9' ;
| >                        package: 'KozSimon' with:
| >                        'KozSimon-StephaneDucasse.2'
| >                        .].
| >
| >
| > Without the `blessing: #release` line, Metacello doesn't know that
| > version '1.2' is not a baseline version. In other words version
| > '1.2' inherits the blessing from the imported baseline and you
| > need to override the blessing.
| >
| >
| > version12: spec
| >        <version: '1.2' imports: #('1.3-baseline')>
| >
| >        spec for: #'pharo' do: [
| >                spec description: 'Honoring hooks (defaultTitle ->
| >                title)'.
| >                spec blessing: #release.
| >                spec author: 'StephaneDucasse'.
| >                spec timestamp: '12/03/2012 21:45'.
| > "----->"        spec project: 'Citezen' with: #'develoment'.
| >                spec
| >                        package: 'Kozen' with:
| >                        'Kozen-StephaneDucasse.32';
| >                        package: 'KoCizen' with:
| >                        'KoCizen-StephaneDucasse.6';
| >                        package: 'KozStef' with:
| >                        'KozStef-StephaneDucasse.9' ;
| >                        package: 'KozSimon' with:
| >                        'KozSimon-StephaneDucasse.2'
| >                        .].
| >
| >
| > With the `project: 'Citezen'` line, you are overriding the version
| > specified in the baseline ...
| >
| > Does this answer the questions?
| >
| > Dale
| >
| > [1] http://code.google.com/p/metacello/issues/detail?id=154
| > ----- Original Message -----
| > | From: "stephane ducasse" <[hidden email]>
| > | To: [hidden email]
| > | Sent: Tuesday, March 13, 2012 7:36:48 AM
| > | Subject: [Metacello] question about stable and dev
| > |
| > | Hi guys
| > |
| > | I have th following baseline
| > |
| > | baseline103: spec
| > | <version: '1.3-baseline'>
| > |
| > | spec for: #pharo do: [
| > | spec blessing: #baseline.
| > | spec repository: 'http://ss3.gemstone.com/ss/Kozen'.
| > | spec package: 'Kozen'.
| > | spec package: 'KoCizen' with: [spec requires: 'Citezen'].
| > | spec package: 'KozStef' with: [spec requires: 'KoCizen'].
| > | spec package: 'KozSimon' with: [spec requires: 'KoCizen'].
| > |
| > | spec group: 'default' with: #('Kozen').
| > | spec group: 'full' with: #('Kozen' 'KoCizen' 'KozStef'
| > | 'KozSimon').
| > |
| > | spec project: 'Citezen' with: [
| > | spec className: 'ConfigurationOfCitezen';
| > | versionString: #stable;
| > | loads: #('NoWeb' );
| > | repository: 'http://ss3.gemstone.com/ss/citezen'.
| > | ]
| > | ].
| > |
| > | and one version
| > |
| > |
| > | version12: spec
| > | <version: '1.2' imports: #('1.3-baseline')>
| > |
| > | spec for: #'pharo' do: [
| > | spec description: 'Honoring hooks (defaultTitle -> title)'.
| > | spec author: 'StephaneDucasse'.
| > | spec timestamp: '12/03/2012 21:45'.
| > | spec
| > | package: 'Kozen' with: 'Kozen-StephaneDucasse.32';
| > | package: 'KoCizen' with: 'KoCizen-StephaneDucasse.6';
| > | package: 'KozStef' with: 'KozStef-StephaneDucasse.9' ;
| > | package: 'KozSimon' with: 'KozSimon-StephaneDucasse.2'
| > | .].
| > |
| > |
| > | Now I would like to be able to say that I would like load the
| > | same
| > | version but with the development version of Citezen.
| > |
| > | May be I should not hardcode in the baseline that I want to load
| > | a
| > | stable version.
| > | How do I define that in the version then?
| > |
| > | I will add this example with the solution to the chapter.
| > |
| > | Stef
| > |
| > |
| > |
| > |
|
|
Reply | Threaded
Open this post in threaded view
|

Re: question about stable and dev

Dale Henrichs
In reply to this post by stephane ducasse-2
Yes exactly ...

At the version level, you should only ever be specifying different versions of both the projects and packages...

Dale

----- Original Message -----
| From: "stephane ducasse" <[hidden email]>
| To: [hidden email]
| Sent: Tuesday, March 13, 2012 1:30:47 PM
| Subject: Re: [Metacello] question about stable and dev
|
| Dale
|
| Am I correct that I could have the original baseline and and I could
| simply override the Citezen setting in my version as follows?
|
|
|
| > | baseline103: spec
| > | <version: '1.3-baseline'>
| > |
| > | spec for: #pharo do: [
| > | spec blessing: #baseline.
| > | spec repository: 'http://ss3.gemstone.com/ss/Kozen'.
| > | spec package: 'Kozen'.
| > | spec package: 'KoCizen' with: [spec requires: 'Citezen'].
| > | spec package: 'KozStef' with: [spec requires: 'KoCizen'].
| > | spec package: 'KozSimon' with: [spec requires: 'KoCizen'].
| > |
| > | spec group: 'default' with: #('Kozen').
| > | spec group: 'full' with: #('Kozen' 'KoCizen' 'KozStef'
| > | 'KozSimon').
| > |
| > | spec project: 'Citezen' with: [
| > | spec className: 'ConfigurationOfCitezen';
| > | versionString: #stable;
| > | loads: #('NoWeb' );
| > | repository: 'http://ss3.gemstone.com/ss/citezen'.
| > | ]
| > | ].
| > |
| > | and one version
| > |
| > |
| > | version12: spec
| > | <version: '1.2' imports: #('1.3-baseline')>
| > |
| > | spec for: #'pharo' do: [
| > | spec description: 'Honoring hooks (defaultTitle -> title)'.
| spec blessing: #release.
| spec project: 'Citezen' with: #'development'.
|
|
| > | spec author: 'StephaneDucasse'.
| > | spec timestamp: '12/03/2012 21:45'.
| > | spec
| > | package: 'Kozen' with: 'Kozen-StephaneDucasse.32';
| > | package: 'KoCizen' with: 'KoCizen-StephaneDucasse.6';
| > | package: 'KozStef' with: 'KozStef-StephaneDucasse.9' ;
| > | package: 'KozSimon' with: 'KozSimon-StephaneDucasse.2'
| > | .].
| > |
| > |
| > | Now I would like to be able to say that I would like load the
| > | same
| > | version but with the development version of Citezen.
| > |
| > | May be I should not hardcode in the baseline that I want to load
| > | a
| > | stable version.
| > | How do I define that in the version then?
| > |
| > | I will add this example with the solution to the chapter.
| > |
| > | Stef
| > |
| > |
| > |
| > |
|
|
Reply | Threaded
Open this post in threaded view
|

Re: question about stable and dev

Dale Henrichs
In reply to this post by stephane ducasse-2
Yes that's too easy to do ... that's why I like the idea of deprecating #blessing: altogether as discussed in Issue 154.

Dale

----- Original Message -----
| From: "stephane ducasse" <[hidden email]>
| To: [hidden email]
| Sent: Tuesday, March 13, 2012 1:37:35 PM
| Subject: Re: [Metacello] question about stable and dev
|
|
|
| > Stef,
| >
| > One change to your version12: method (once Issue 154[1] is fixed,
| > then my comment doesn't apply):
| >
| > version12: spec
| >        <version: '1.2' imports: #('1.3-baseline')>
| >
| >        spec for: #'pharo' do: [
| >                spec description: 'Honoring hooks (defaultTitle ->
| >                title)'.
| > "----->"        spec blessing: #release.
| >                spec author: 'StephaneDucasse'.
| >                spec timestamp: '12/03/2012 21:45'.
| >                spec
| >                        package: 'Kozen' with:
| >                        'Kozen-StephaneDucasse.32';
| >                        package: 'KoCizen' with:
| >                        'KoCizen-StephaneDucasse.6';
| >                        package: 'KozStef' with:
| >                        'KozStef-StephaneDucasse.9' ;
| >                        package: 'KozSimon' with:
| >                        'KozSimon-StephaneDucasse.2'
| >                        .].
|
| Oops I always forgot this.
|
|
| >
| >
| > Without the `blessing: #release` line, Metacello doesn't know that
| > version '1.2' is not a baseline version. In other words version
| > '1.2' inherits the blessing from the imported baseline and you
| > need to override the blessing.
| >
| >
| > version12: spec
| >        <version: '1.2' imports: #('1.3-baseline')>
| >
| >        spec for: #'pharo' do: [
| >                spec description: 'Honoring hooks (defaultTitle ->
| >                title)'.
| >                spec blessing: #release.
| >                spec author: 'StephaneDucasse'.
| >                spec timestamp: '12/03/2012 21:45'.
| > "----->"        spec project: 'Citezen' with: #'develoment'.
| >                spec
| >                        package: 'Kozen' with:
| >                        'Kozen-StephaneDucasse.32';
| >                        package: 'KoCizen' with:
| >                        'KoCizen-StephaneDucasse.6';
| >                        package: 'KozStef' with:
| >                        'KozStef-StephaneDucasse.9' ;
| >                        package: 'KozSimon' with:
| >                        'KozSimon-StephaneDucasse.2'
| >                        .].
| >
| >
| > With the `project: 'Citezen'` line, you are overriding the version
| > specified in the baseline ...
| >
| > Does this answer the questions?
| >
| > Dale
| >
| > [1] http://code.google.com/p/metacello/issues/detail?id=154
| > ----- Original Message -----
| > | From: "stephane ducasse" <[hidden email]>
| > | To: [hidden email]
| > | Sent: Tuesday, March 13, 2012 7:36:48 AM
| > | Subject: [Metacello] question about stable and dev
| > |
| > | Hi guys
| > |
| > | I have th following baseline
| > |
| > | baseline103: spec
| > | <version: '1.3-baseline'>
| > |
| > | spec for: #pharo do: [
| > | spec blessing: #baseline.
| > | spec repository: 'http://ss3.gemstone.com/ss/Kozen'.
| > | spec package: 'Kozen'.
| > | spec package: 'KoCizen' with: [spec requires: 'Citezen'].
| > | spec package: 'KozStef' with: [spec requires: 'KoCizen'].
| > | spec package: 'KozSimon' with: [spec requires: 'KoCizen'].
| > |
| > | spec group: 'default' with: #('Kozen').
| > | spec group: 'full' with: #('Kozen' 'KoCizen' 'KozStef'
| > | 'KozSimon').
| > |
| > | spec project: 'Citezen' with: [
| > | spec className: 'ConfigurationOfCitezen';
| > | versionString: #stable;
| > | loads: #('NoWeb' );
| > | repository: 'http://ss3.gemstone.com/ss/citezen'.
| > | ]
| > | ].
| > |
| > | and one version
| > |
| > |
| > | version12: spec
| > | <version: '1.2' imports: #('1.3-baseline')>
| > |
| > | spec for: #'pharo' do: [
| > | spec description: 'Honoring hooks (defaultTitle -> title)'.
| > | spec author: 'StephaneDucasse'.
| > | spec timestamp: '12/03/2012 21:45'.
| > | spec
| > | package: 'Kozen' with: 'Kozen-StephaneDucasse.32';
| > | package: 'KoCizen' with: 'KoCizen-StephaneDucasse.6';
| > | package: 'KozStef' with: 'KozStef-StephaneDucasse.9' ;
| > | package: 'KozSimon' with: 'KozSimon-StephaneDucasse.2'
| > | .].
| > |
| > |
| > | Now I would like to be able to say that I would like load the
| > | same
| > | version but with the development version of Citezen.
| > |
| > | May be I should not hardcode in the baseline that I want to load
| > | a
| > | stable version.
| > | How do I define that in the version then?
| > |
| > | I will add this example with the solution to the chapter.
| > |
| > | Stef
| > |
| > |
| > |
| > |
|
|
Reply | Threaded
Open this post in threaded view
|

Re: question about stable and dev

stephane ducasse-2

On Mar 13, 2012, at 11:18 PM, Dale Henrichs wrote:

> Yes that's too easy to do ... that's why I like the idea of deprecating #blessing: altogether as discussed in Issue 154.

yes

Now at some points you will have to read what I wrote because I can get wrong.

Stef
Reply | Threaded
Open this post in threaded view
|

Re: question about stable and dev

stephane ducasse-2
In reply to this post by Dale Henrichs

On Mar 13, 2012, at 11:16 PM, Dale Henrichs wrote:

> The #blessing: is different from the #version:. For blessings there are only three values that have meaning:
>
>  - #baseline - declaring a baseline version
>  - #development - meaning the the version definition is in
>    flux and may change over time. With any other value
>    of blessing, the spec should never be changed.
>  - #broken - meaning that the version is simply ignored ...
>
> No other blessing values have meaning within Metacello, so #release or #stable may be used

so I'm confused in that case what release means. This is just a tag?

Reply | Threaded
Open this post in threaded view
|

Re: question about stable and dev

Dale Henrichs
Stef,

The blessings are basically tags and we can get away without them completely:

  - use pragmas for baseline, version, and broken

It will still be useful to mark a version as "under development"...

#release means "not #development" (i.e., will not be changed) ...

perhaps #stable is a better name, but if we're going to deprecate blessings, I'd rather focus on a non-blessing way to say "under development"...

BTW, with git "under development" is not an issue...

Dale

----- Original Message -----
| From: "stephane ducasse" <[hidden email]>
| To: [hidden email]
| Sent: Wednesday, March 14, 2012 12:27:32 AM
| Subject: Re: [Metacello] question about stable and dev
|
|
| On Mar 13, 2012, at 11:16 PM, Dale Henrichs wrote:
|
| > The #blessing: is different from the #version:. For blessings there
| > are only three values that have meaning:
| >
| >  - #baseline - declaring a baseline version
| >  - #development - meaning the the version definition is in
| >    flux and may change over time. With any other value
| >    of blessing, the spec should never be changed.
| >  - #broken - meaning that the version is simply ignored ...
| >
| > No other blessing values have meaning within Metacello, so #release
| > or #stable may be used
|
| so I'm confused in that case what release means. This is just a tag?
|
|
Reply | Threaded
Open this post in threaded view
|

Re: question about stable and dev

stephane ducasse-2

On Mar 14, 2012, at 5:33 PM, Dale Henrichs wrote:

> Stef,
>
> The blessings are basically tags and we can get away without them completely:

for me I do not have hard feelings, just that the simpler the better because the domain is complex enough.

>
>  - use pragmas for baseline, version, and broken
>
> It will still be useful to mark a version as "under development"...
>
> #release means "not #development" (i.e., will not be changed) ...

ok
I was more talking about the symbolic version which to me are essential

> perhaps #stable is a better name, but if we're going to deprecate blessings, I'd rather focus on a non-blessing way to say "under development"...
>
> BTW, with git "under development" is not an issue…

Do you mean that the symbolic version development is not needed. because I would not understand. What I like is that I can work on projects
against the development version and when I get all the projects working I can push a new stable version.

Stef
Reply | Threaded
Open this post in threaded view
|

Re: question about stable and dev

Dale Henrichs


----- Original Message -----
| From: "stephane ducasse" <[hidden email]>
| To: [hidden email]
| Sent: Wednesday, March 14, 2012 12:35:02 PM
| Subject: Re: [Metacello] question about stable and dev
|
| What I like is that I can work on
| projects
| against the development version and when I get all the projects
| working I can push a new stable version.
|
| Stef

Stef,

I absolutely agree that it is necessary to be able to work on projects that are "in development" and then publish a stable version that other developers can use.

With git (and Metacello):

  - start a "topic branch"[1] and do your development there
  - when finished, merge the "topic branch" into the master (#stable) branch

With mcz and Metacello:

  - set blessing of version to #development and develop with
    that version
  - when finished, mark blessing as #release and update
    the #stable symbolic version

Open issue git:

   - need to come up with recommendations on how to mix branches
     and platform-specific code (Squeak, Pharo, GemStone, pharo 1.3, pharo 1.4, etc.)
     and specify #stable in the git universe

Open issue mcz:

   - if we deprecate blessings, how do we designate a development version

For git, I think it is a matter of gaining a little bit of experience with git and multi-platform development.

For mcz, perhaps we replace blessing with tag with #development tag having special meaning to users and metacello (regarding latestVersion calculation)...

Dale

[1] http://stackoverflow.com/questions/284514/what-is-a-git-topic-branch