Hi Dale

Thanks again, still not working.
After updating github I am unable to pull the changes into the image.
So far the only way is to hit Pull button at the "Working copy of
MyProyect" repo window.
I wish I could reproduce what that button does.

Even this:
Metacello new
        repository: 'github://...';
        baseline: 'MyProyect';
        get
does not update my file system at iceberg/

Best

Emilio

On Thu, Apr 28, 2022 at 3:29 PM Dale Henrichs <
dale.henri...@gemtalksystems.com> wrote:

> Emilio,
>
> I wasn't quite sure whether or not you were concerned about having the
> BaselineOf refreshed or a reload of the packages managed by the BaselineOf
> and as Gabriel mentions, the missing #projectClass method is the most
> common problem ...
>
> By default Metacello does not refresh a BaselieOf in your image if it is
> already present, however, you can force a refresh of a BaselineOf by using
> the the Metcello #get command:
>
>> Metacello new baseline:'MyProject';
>>   repository: 'github://myUser/MyProject:main/myProject';
>>   get;
>>   load.
>
> This would be a good pattern to follow when reloading projects after
> updating from github ... and I am a bit surprised that this question is not
> asked more often :)
>
> Dale
>
> On Mon, Apr 25, 2022 at 6:06 PM Emilio Oca <emilio...@gmail.com> wrote:
>
>> 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