[Pharo-dev] FW: Versioning with Iceberg

Shaping shaping at uurda.org
Thu May 30 21:08:54 EDT 2019

Thanks for the explanation, Ben.   This isn’t good for the future of Pharo.   What a headache.  


Has anyone investigated automatic scripted conversion of Monticello formats to Iceberg with Git?  I don’t see how this will ever be done or finished manually, humans being what they are.  The fragmented versioning-technologies will persist then indefinitely.





From: Pharo-dev [mailto:pharo-dev-bounces at lists.pharo.org] On Behalf Of Ben Coman
Sent: Thursday, May 30, 2019 08:45
To: Pharo Development List <pharo-dev at lists.pharo.org>
Subject: Re: [Pharo-dev] FW: Versioning with Iceberg


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



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. 


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/70df6b4d/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image002.png
Type: image/png
Size: 70170 bytes
Desc: not available
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20190530/70df6b4d/attachment.png>

More information about the Pharo-dev mailing list