I will add that to the metacello chapter! Le 19/12/14 19:00, Dale Henrichs a écrit :
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/MetacelloUser... [2] https://github.com/dalehenrich/metacello-work/blob/master/docs/MetacelloUser... [3] https://github.com/dalehenrich/metacello-work/blob/master/docs/MetacelloUser... [4] https://github.com/dalehenrich/metacello-work/blob/master/docs/LockCommandRe...