Emilio, Are you using a repository without Monticello meta data? If so, then you need to change the #projectClass of you your baseline to:
> projectClass > Smalltalk at: #'MetacelloCypressBaselineProject' ifPresent: [ :cl | ^ cl > ]. > ^ super projectClass unless the #projectClass is MetacelloCypressBaselineProject, Metacello will think that your package versions are 'cypress.1' and Metacello will not load packages with the same version .... when the #projectClass is MetacelloCypressBaselineProject, Metacello will always load the package and let Monticello filter out the changes ... Dale On Mon, Apr 25, 2022 at 2:39 PM Esteban Lorenzano <esteba...@netc.eu> wrote: > mmm, you may be having another problem elsewhere, because what I typed > should be working (is how we enforce the load of new versions to run the > tests, for example). > > Esteban > > On Apr 25 2022, at 11:30 pm, Emilio Oca <emilio...@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 <esteba...@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 <emilio...@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 > >