[Pharo-dev] FW: Versioning with Iceberg

Ben Coman btc at openinworld.com
Thu May 30 09:45:29 EDT 2019

On Thu, 30 May 2019 at 18:56, Shaping <shaping at uurda.org> 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

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.

cheers -ben
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20190530/4c36080e/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 73396 bytes
Desc: not available
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20190530/4c36080e/attachment.png>

More information about the Pharo-dev mailing list