How does iceberg handle caching of packages with different versions?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

How does iceberg handle caching of packages with different versions?

Tim Mackinnon
Hi - while I’ve been trying to troubleshoot my tonel build woes - I noticed something that might be a potential problem with baselines not loading the correctly specified version.

I was having no luck with GitHub:/repo references (see other thread on this), eg:
spec
baseline: 'WillowBootstrap'
with: [ spec
repository: '<a href="github://ba-st/Willow-Bootstrap:v8/source" class="">github://ba-st/Willow-Bootstrap:v8/source';
loads: #('Deployment') ];
import: 'WillowBootstrap'.

So I tried using https equivalents like this:

spec
baseline: 'WillowBootstrap'
with: [ spec
repository: 'https://github.com/ba-st/Willow-Bootstrap/tree/v8.0.2/source';
loads: #('Deployment') ];
import: 'WillowBootstrap'.

But then I wasn’t sure if the newer version of the repository was what I was supposed to use and so I altered my spec to use /v8 (not v8.0.2)

spec
baseline: 'WillowBootstrap'
with: [ spec
repository: 'https://github.com/ba-st/Willow-Bootstrap/tree/v8/source';
loads: #('Deployment') ];
import: 'WillowBootstrap'.

However when I was looking at the log files of errors, I noticed that when I downgraded my spec to v8 and reran my CI on a fresh image the error message still referenced v8.0.2 . As this was a run on my CI (which is preserving the pharo-cache directory between runs) this looked a lot to me like Iceberg/Metacello is not taking into account version numbers or repo urls when loading things from the file cache? When I blew away the pharo-cache and reran it - it then correctly showed me errors referencing v8 again.

Is this a known problem?

Tim


Reply | Threaded
Open this post in threaded view
|

Re: How does iceberg handle caching of packages with different versions?

Herby Vojčík


Tim Mackinnon wrote:

> Hi - while I’ve been trying to troubleshoot my tonel build woes - I
> noticed something that might be a potential problem with baselines not
> loading the correctly specified version.
>
> I was having no luck with GitHub:/repo references (see other thread on
> this), eg:
>
> spec
>     baseline: 'WillowBootstrap'
>        with: [ spec
>           repository: 'github://ba-st/Willow-Bootstrap:v8/source';
>           loads: #('Deployment') ];
>     import: 'WillowBootstrap'.
>
>
> So I tried using https equivalents like this:
>
> spec
>     baseline: 'WillowBootstrap'
>        with: [ spec
>           repository: 'https://github.com/ba-st/Willow-Bootstrap/tree/v8.0.2/source';

Did this actually work? Seems strange to me, as AFAICT 'https://...' 
urls are represented as mcz ones, not git ones.

>           loads: #('Deployment') ];
>     import: 'WillowBootstrap'.
>
>
> But then I wasn’t sure if the newer version of the repository was what I
> was supposed to use and so I altered my spec to use /v8 (not v8.0.2)
>
> spec
>     baseline: 'WillowBootstrap'
>        with: [ spec
>           repository: 'https://github.com/ba-st/Willow-Bootstrap/tree/v8/source';
>           loads: #('Deployment') ];
>     import: 'WillowBootstrap'.
>
>
> However when I was looking at the log files of errors, I noticed that
> when I downgraded my spec to v8 and reran my CI on a fresh image the
> error message still referenced v8.0.2 . As this was a run on my CI
> (which is preserving the pharo-cache directory between runs) this looked
> a lot to me like Iceberg/Metacello is not taking into account version
> numbers or repo urls when loading things from the file cache? When I
> blew away the pharo-cache and reran it - it then correctly showed me
> errors referencing v8 again.
>
> Is this a known problem?
>
> Tim
>
>