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
>>
>>

Reply via email to