Hi!

What is the proper updated mechanism on projects stored on GitHub? To be more 
explicit, the script:

Metacello new
    baseline: #DiscordSt;
    repository: 'github://JurajKubelka/DiscordSt/src';
    load.

With the Iceberg integration, it does not work if an older version is already 
in a Pharo image. 
Doing pull from the Iceberg UI neither works as the new version may have new 
packages and new external dependencies.

Actually it is also tricky if the Iceberg integration is not involved. I use 
this script in such scenario: 

```
        UIManager default
                informUserDuring: [ :bar | 
                        bar label: 'Removing cached DiscordSt repository from 
github-cache'.
                        bar current: 0.
                        (FileLocator workingDirectory / 'github-cache' / 
'JurajKubelka' / 'DiscordSt')
                                ensureDeleteAll.
                        bar label: 'Updating DiscordSt baseline definition'.
                        bar current: 0.33.
                        Iceberg enableMetacelloIntegration ifFalse: [ 
                                Gofer new 
                                        url: 
'github://JurajKubelka/DiscordSt/src' asZnUrl;
                                        package: 'BaselineOfDiscordSt';
                                        load ].
                        bar label: 'Updating DiscordSt source files'.
                        bar current: 0.66.
                        Metacello new
                                baseline: #DiscordSt;
                                repository: 
'github://JurajKubelka/DiscordSt/src';
                                onConflict: [:ex | ex allow]; 
                                load: #default.
                        bar current: 1 ].
```

I think I need a script that: 
1. updates a local Iceberg repository (if exists)
2. loads new BaselineOfDiscordSt package version to a Pharo image
3. executes the Metacello script.

How can I do properly the first two steps when Iceberg is involved?

Thanks!
Juraj

Reply via email to