[squeak-dev] Squeak and Tonel

Levente Uzonyi leves at caesar.elte.hu
Mon Feb 18 00:39:18 UTC 2019

On Sun, 17 Feb 2019, Jakob Reschke wrote:

> Hi Eliot, hi all,
> (reducing the addressees to squeak-dev again because I suppose the Pharo or VM devs are not that much interested in the Tonel port)
> Am So., 17. Feb. 2019 um 21:27 Uhr schrieb Eliot Miranda <eliot.miranda at gmail.com>:
>       I therefore wanted a Tonel that could both function for Squeak's Monticello and for Pharo's Iceberg.  I had modified the Tonel serialization a little to provide well-formatted support for
>       method timestamps, which are still a key and extremely useful part of Squeak Monticello's "blame" equivalent.  Until git author attribution can be imported into Squeak's Monticello
>       (something I don't see happening) I wanted merely to be able to have a variant of Tonel, enabled for example by a class variable, and hence /not/ present in Pharo, that would allow
>       VMMaker.oscog to use Tonel but still be functional inside Squeak.  I asked Esteban and was met by a flat no.  Not "OK, but this is an option only you will use", but a flat "not under any
>       circumstance".
> Sorry to hear that. I understand your frustration.
>       So here I am joining in this thread reluctantly.  I'm extremely frustrated by the state of Tonel in Squeak and between the two dialects.  Clément had moved his Scorch optimizer to
>       Tonel/git and I tried to use Metacello and Jakob's Tonel code to at least allow me to load that code and try and push forward on Sista/Scorch.  The port *does not work*.  Metacello fails
>       to load Scorch.  Neither Jakob nor Fabio, after putting in some effort, were able to fix the problem, and it is well beyond me.  So I have accepted the fact that I will have to use the
>       Monticello repository for Scorch/Sista.
> For anybody who would like to work on this: IIRC the problem is that if you try to load a Tonel project with Metacello, it attempts to load it like a FileTree project, which obviously fails. My
> as-yet-unverified theory is that there is something in Gofer or about the github:// Monticello repository code that hardcodes the use of FileTree instead of any other reader. If that is correct, one
> must find this code and extend it to look out for Tonel repositories and use the TonelReader when required. Maybe there are some changes to cherry-pick from Pharo.
> Personally, I am very fond of the use of Git instead of Monticello, but not convinced of Tonel so far. Yet we can expect Tonel to be something we will have to live with for some time (just like
> Monticello's overreliance on unique version names seen in other current threads, though the latter is an old problem and the adoption of Tonel is a new one). And I would not like to see the pool of
> available libraries for Squeak become even more limited because of the lack of support for a file-out format. I have spent my free time on Squeak only sporadically during the past year. As much as I
> would have liked to help Eliot further, it didn't appeal to me to spend a free evening or weekend digging through Metacello's code.

Is it a must to use Metacello to load code in Tonel format?
What does Metacello add to the mix?
Can't we just map each git commit to an mcz?


> Kind regards,
> Jakob

More information about the Squeak-dev mailing list