Dale, I couldn't make it work with the upgraded Metacello and the script you provided.
Steps I did: 1. Download moose image: https://ci.inria.fr/moose/job/moose-5.0/ 2. Update my Metacello to the 'full' version: Metacello new baseline: 'Metacello'; repository: 'github://dalehenrich/metacello-work:master/repository'; get. Metacello new baseline: 'Metacello'; repository: 'github://dalehenrich/metacello-work:master/repository'; onConflict: [:ex | ex allow]; load 3. File in the ConfigurationOfDummyParser (see the first message in the thread). 4. Run this script to downgrade to PetitParser version 1.51 Metacello new configuration: 'DummyParser'; version: '1.0'; repository: '???'; onDowngradeUseIncoming: #('PetitParser'); load. The desired version is still not loaded, am I missing something here? regards, A question: I always use Metacello with ConfigOf and have never used the scripting API myself or saw it being used elsewhere. Can you provide a link that describes the use cases for both: ConfigOf vs. Scripting API? On Fri, Jan 2, 2015 at 6:47 PM, Dale Henrichs < dale.henri...@gemtalksystems.com> wrote: > Usman, > > It is likely that Pharo3.0 is not using the latest version of Metacello. > You should be able to upgrade to the latest versions following the install > instructions for Pharo3.0[1]. > > Dale > > [1] https://github.com/dalehenrich/metacello-work#pharo30 > > > On 1/2/15 6:23 AM, Usman Bhatti wrote: > > 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] >> >> >> >> >> > >