On Thu, 30 May 2019 at 18:56, Shaping <[email protected]> wrote:

>
>
> I prefer to use one tool for versioning.  Is that possible now in any
> version of Pharo?  Can I use only Iceberg for all fetches and all
> commits?   Or must I sometimes use evaluables like:
>
>
>
> Metacello new
>
>  baseline: 'Exercism';
>
>  repository: 'github://exercism/pharo-smalltalk/releases/latest';
>
> onConflict: [ :ex | ex allow ];
>
>  load.
>

Metacello operates at a higher level than Iceberg.
Iceberg (like Monticello) versions individual packages.
Metacello defines the version dependencies between packages, including
different git repos and Monticello repos.
The Metacello definition is versioned like any other code, using either
Iceberg or Monticello.

I'm not completely sure, but I think Metacello uses Iceberg to load from
github repos,
so what that last code snippet does is...
Metacello loads the given baseline from github using Iceberg and parses it,
then loads all the dependent baselines from their respective repos using
Iceberg or Monticello per the format they are stored in,
then loads all the specified code versions using Iceberg or Monticello as
appropriate.

Also once you've loaded an Iceberg repo containing a Metacello baseline,
you can invoke that baseline from within Iceberg.
[image: image.png]

Essentially Iceberg replaces Monticello for git repos,
but there is a wealth of historical packages in Monticello format, so its
not disappearing either.

HTH,
cheers -ben

Reply via email to