Hi Gabriel, Dale! My BaselineOf had only #baseline: Added #projectClass But is still not working. It seems to be doing the load, but not the pull before the load.
I had implemented no more than #baseLine: and now projectClass. If I go through the UI and do the pull it works perfectly. Can I replicate that with a script? Best Emilio On Mon, Apr 25, 2022 at 6:49 PM Dale Henrichs < dale.henri...@gemtalksystems.com> wrote: > 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 >> >>