Is your BaselineOf implementing: projectClass ^ MetacelloCypressBaselineProject ? AFAIR missing this method caused that kind of problem in the past. On Mon, Apr 25, 2022 at 6:30 PM Emilio Oca <emiliooca@gmail.com> wrote:
Hi Esteban
Thanks for the hint. It is still not working. Even if I remove BaselineOfMyProject and MyProject. When it reloads, it doesn't loads the last version of head at github but the one that was already at the image.
I just want to update up to what is at gibhub head. Is there another way?
Best
Emilio
On Sat, Apr 23, 2022 at 1:56 AM Esteban Lorenzano <estebanlm@netc.eu> wrote:
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
On Apr 23 2022, at 3:21 am, Emilio Oca <emiliooca@gmail.com> wrote:
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