Dale, Thanks for your detailed explanations.
Metacello class in my image does not seem to define the messages described in the documentation for handling downgrading and upgrading conflicts: https://github.com/dalehenrich/metacello-work/blob/master/docs/MetacelloUserGuide.md#downgrade I am using Pharo 3.0 with Moose. [image: Inline image 1] Did I miss something? regards, Usman On Fri, Dec 19, 2014 at 7:00 PM, Dale Henrichs < dale.henri...@gemtalksystems.com> wrote: > Usman, > > With classic Metacello (using the `(ConfigurationOfxxx project version: > 'xxx') load` pattern) you can only downgrade via an explicit load of a > particular version of the project. When loading projects indirectly via a > project reference from another project Metacello is biased towards upgrade. > > With the Metacello Scripting API[1], you may include an > #onDowngradeUseIncoming: clause to selectively permit downgrades: > > Metacello new > configuration: 'DummyParser'; > version: '1.0'; > repository: '???'; > onDowngradeUseIncoming: #('PetitParser'); > load. > > For additional downgrade options see[2]. > > Since you are interested in using a specific version of a project you may > also be interested in locking the project[3][4]. With a `lock` Metacello > will not upgrade or downgrade the project but always `honor` the lock > unless an #onLock: clause is used ... > > Note that for `locking` to work, you must use the Metacello Scripting API > to do all of your project loads ... > > Dale > > [1] > https://github.com/dalehenrich/metacello-work/blob/master/docs/MetacelloUserGuide.md#metacello-user-guide > [2] > https://github.com/dalehenrich/metacello-work/blob/master/docs/MetacelloUserGuide.md#downgrade > [3] > https://github.com/dalehenrich/metacello-work/blob/master/docs/MetacelloUserGuide.md#locking > [4] > https://github.com/dalehenrich/metacello-work/blob/master/docs/LockCommandReference.md#lock-command-reference > > > On 12/19/2014 07:44 AM, Usman Bhatti wrote: > > Hi all, > > I am trying to load a specific version of PetitParser in a Moose image. > A Moose image comes with the latest development version of PetitParser. So, > I am trying to downgrade to an older version. So, when I load the version > manually, older versions of the packages are loaded: > (ConfigurationOfPetitParser project version: '1.51') load > > But when I try to load the same version within my ConfigOf the expected > packages are not loaded and list of the PetitParser packages loaded remains > unchanged. Here is how my baseline looks like: > > ConfigurationOfDummyParser>>baseline01: spec > <version: '0.1-baseline'> > > spec for: #'common' do: [ > spec blessing: #'baseline'. > spec project: 'PetitParser' with: [ > spec > className: #ConfigurationOfPetitParser; > versionString: '1.51'; > repository: 'http://smalltalkhub.com/mc/Moose/PetitParser/main/' ]. ]. > > I also tried creating a version but it didn't help. > > ConfigurationOfDummyParser>>version10: spec > <version: '1.0' imports: #('0.1-baseline' )> > > spec for: #'common' do: [ > spec blessing: #'stable'. > spec description: 'version 1.0'. > spec author: 'usmanbhatti'. > spec timestamp: '12/19/2014 16:35'. > spec project: 'PetitParser' with: '1.51'. ]. > > I also had a look at the package the configuration tries to load and the > list shows correct packages to be loaded (see screenshot). > > Does anyone have an idea what may be problematic in my code or that of > Metacello? I am attaching the code of my ConfigOf for a Moose image. > > Thanks in advance. > > Usman[image: Inline image 1] > > > > >