Hi Emilio,
You need something like this:
�� Metacello new
�������������� repository: 'github://pharo-spec/Spec:Pharo10';
�������������� baseline: 'Spec2';
�������������� onConflict: [ :e | e useIncoming ];
�������������� onUpgrade: [ :e | e useIncoming ];
�������������� ignoreImage;
�������������� load
ignoreImage, onConflict, onUpgrade.
BUT if your image already has a baseline for your project then Metacello will not reload it (hence your project may not be loaded correctly, since baseline may have changed).
In that case, I always execute before something like:
#( 'BaselineOfSpec2' 'BaselineOfSpecCore' ) do: [ :each |
(RPackageOrganizer default packageNamed: each ifAbsent: [ nil ])
ifNotNil: [ :aPackage | aPackage removeFromSystem ] ]
I ack this is hacky, but it works :)
Esteban
Hi List
I need some help with Metacello, and may be git too
I would like to be able to, in a running headless image, load the last commit of a git repo
Something like
Metacello new baseline:'MyProject';
repository: 'github://myUser/MyProject:main/myProject';
load.
works just once and may open some dialogs
Something like this
[
Metacello new baseline:'MyProject';
repository: 'github://myUser/MyProject:main/myProject';
onConflictUseIncoming;
load.
] on: MetacelloSkipDirtyPackageLoad do: [ :ex | ex resume: false ].
] on: MCMergeOrLoadWarning do: [ :ex | ex load ].
Avoids the dialogs and alerts but the code is still not updated.
My intention is to be able to 'refresh' a running seaside image with its latest development version from a git��repo (avoiding��to personally reach the server and��rebuild the docker image)
What am I missing?
Best
Emilio