This is a good question.
The answer depends upon how the OB project reference is defined. By default the project #operator is set #>=.
The #operator is used to compare the version loaded with the version to be loaded:
currentVersion perform: #>= with: targetVersion
If the target version is 1.1 and the current version is 1.2 (1.2 being #>= 1.1) nothing is loaded and version 1.2 wins.
If the target version is 1.2 and the current version is 1.1 (1.1 is not !>= 1.2) then version 1.2 is loaded.
So in your example OB 1.2 will end being loaded.
You specify the operator when you define the project reference:
spec
project: 'Seaside2.8' overrides: [
spec
className: 'ConfigurationOfGsSeaside28';
operator: #>=
projectPackage: [...]].
With the set of operators being:
#= #~= #> #< #>= #<= #~>
Note that #~> operator is "approximately greater than" stolen from Ruby Gems (http://docs.rubygems.org/read/chapter/16).
Dale
Mariano,
This is a good question.
The answer depends upon how the OB project reference is defined. By default the project #operator is set #>=.
The #operator is used to compare the version loaded with the version to be loaded:
currentVersion perform: #>= with: targetVersion
If the target version is 1.1 and the current version is 1.2 (1.2 being #>= 1.1) nothing is loaded and version 1.2 wins.
If the target version is 1.2 and the current version is 1.1 (1.1 is not !>= 1.2) then version 1.2 is loaded.
So in your example OB 1.2 will end being loaded.
You specify the operator when you define the project reference:
spec
project: 'Seaside2.8' overrides: [
spec
className: 'ConfigurationOfGsSeaside28';
operator: #>=
projectPackage: [...]].
With the set of operators being:
#= #~= #> #< #>= #<= #~>
Note that #~> operator is "approximately greater than" stolen from Ruby Gems (http://docs.rubygems.org/read/chapter/16).
This mail is indeed earmarked for the FAQ!
Thanks,
I realize that there is _much_ more to do in the area of detecting and reasoning about conflicts, but I didn't want to tackle that problem with the first release ... the #>= operator covers the most common cases and when it doesn't I think humans will have to be involved to untanggle things ... at least in the beginning.
This mail is indeed earmarked for the FAQ!
I'll try to reproduce the problem and analyze what's going on...
Dale
On Jan 16, 4:23 pm, Mariano Martinez Peck <marianop...@gmail.com>
wrote:
> marianop...@gmail.com> wrote:
>
> > On Fri, Dec 18, 2009 at 11:59 PM, Dale Henrichs <
> > dale.henri...@gemstone.com> wrote:
>
> >> I realize that there is _much_ more to do in the area of detecting and
> >> reasoning about conflicts, but I didn't want to tackle that problem with the
> >> first release ... the #>= operator covers the most common cases and when it
> >> doesn't I think humans will have to be involved to untanggle things ... at
> >> least in the beginning.
>
> > +10000 I am totally agree with you. Let's go step by step. This is not
> > necessary and as you said the operator covers 99% of the cases. I just
> > didn't want to "loose" the subject of the thread to tell you how others
> > solve the same problem.
>
> >> This mail is indeed earmarked for the FAQ!
>
> > :)
>
> >> Thanks,
>
> >> Dale
> >> ----- "Mariano Martinez Peck" <marianop...@gmail.com> wrote:
>
> >> | On Fri, Dec 18, 2009 at 9:33 PM, Dale Henrichs
> >> | <dale.henri...@gemstone.com>wrote:
I'll have to take a detailed look at this...could you tell me what
version of Metacello you are using?
I'll try to reproduce the problem and analyze what's going on...