> So the future for Pharo is Iceberg/git/tonel and that is fine.
> My question however is: if I convert my external libraries to this new format, what is the reach of this new technology ? Can people still load code in older versions of Pharo ? I think 6.x is no problem, but what about earlier versions ? What about other Smalltalk implementations ? What is the official answer here ?
In absence of Iceberg, Tonel can be used as any other MCRepository. You can save and read your packages as it would be with a “metadataless filetree”.
That means, in Pharo without iceberg you need to save/read from your cloned repository.
Saving to your cloned repository will write files to disk. Which means you need to go there and do a regular git commit/push cycle.
While this is annoying compared with the usage of Iceberg, is perfectly doable: it is the same as while using metadataless filetree.
Tonel is tested to work up to Pharo 3. Older Pharos may work (there is no reason why not) but maybe some minor adjustments are needed.
I designed Tonel to be easily portable. I didn’t used a lot of Pharo elements that would have done my life a lot easier (like using RBParser instead parsing manual). This way other dialects can take it and make it work. Now, making it work, is a problem of other dialects users (I’m willing to help, but that work will fall in other persons).
I know it is already ported to Gemstone and it was being ported to Squeak.
> A second question: suppose a repo is converted, is then still possible to copy a version over to an old MC repo ? Just to keep it in sync.
You can save your packages as you want.
You can save a package with Iceberg and then read it with Monticello.,
Now, it you want to “transfer” the history from git to an mcz, you will need to do some migration tool.