Reach of Iceberg/git/tonel ?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

Reach of Iceberg/git/tonel ?

Sven Van Caekenberghe-2
Hi,

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 ?

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.

Thx,

Sven


Reply | Threaded
Open this post in threaded view
|

Re: Reach of Iceberg/git/tonel ?

Peter Uhnak
Hi,

Can people still load code in older versions of Pharo ? I think 6.x is no problem, but what about earlier versions ?

You will need to update Metacello in older versions of Pharo to use Tonel. But Pharo <6.1 is officially not supported anyway.
 
What about other Smalltalk implementations ? What is the official answer here ?

If they use Metacello, then you should be able to use Tonel.

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.

As long as Iceberg uses internally a Metacello repository for Tonel, you should be able to copy a _snapshot_.
If you want to keep a "in sync" history with ancestry and stuff, then I would advise against it. The history model is quite different between git and MC and you need to make compromises going in each direction.

Peter
Reply | Threaded
Open this post in threaded view
|

Re: Reach of Iceberg/git/tonel ?

Ben Coman
In reply to this post by Sven Van Caekenberghe-2


On Sat, 29 Sep 2018 at 20:40, Sven Van Caekenberghe <[hidden email]> wrote:
Hi,

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 ?

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.

Just to throw an idea into the mix, perhaps a read-only option for older Pharo and alternate Smalltalk implementations is to use ZIP downloads from github.

There would still be a requirement to parse Tonel, but that might be a smaller mission than supporting Iceberg or other full-Git implementation.
A Metacello baseline might bootstrap Tonel to parse the unzipped file.

cheers -ben
Reply | Threaded
Open this post in threaded view
|

Re: Reach of Iceberg/git/tonel ?

Stephane Ducasse-3
In reply to this post by Sven Van Caekenberghe-2
Hi Sven

> So the future for Pharo is Iceberg/git/tonel and that is fine.

I'm waiting for Tonel since 2002. I should have done it. Now what was
blocking me stupidly
was that I wanted to have a support for Snippets (doit) and this was
more in that sense a scripting syntax biais.
This format will give to all the community a lot of exposure.

> My question however is: if I convert my external libraries to this new format, what is the reach of this new technology ?

Everybody in the world will be able to read your code. Which is not
the case right now.

> Can people still load code in older versions of Pharo ? I think 6.x is no problem, but what about earlier versions ?

I do not know. Loading a new version in an old system is always a
challenge because some libraries
will improve.
Now if they pay us for that we can do something.
Can I latex my papers about 5 years ago, clearly not.
Can I run my old app on my new iphone not really.
So if this is not working for paid software why should it be for free one?


> What about other Smalltalk implementations ? What is the official answer here ?

They are lucky Tonel is MIT and we are not against them.
I would not expect other people would expect that they port freely
their code to Pharo without me
giving a hand. So the inverse is true.

> A second question: suppose a repo is converted, is then still possible to copy a version over to an old MC repo ?
No this is not possible with filetree and I do not see why it would be
possible for Tonel
> Just to keep it in sync.

I do not know. May be somehow with time and energy can do it. One
could hack MC to include Tonel inside.
Now I think that there are many other things to do.
Iceberg is using some part of MC now do not expect our engineers to do
this for free.
After people will complain that they do not work on the real value.


>
> Thx,
>
> Sven
>
>

Reply | Threaded
Open this post in threaded view
|

Re: Reach of Iceberg/git/tonel ?

gcotelli
In reply to this post by Sven Van Caekenberghe-2
I don't know if something changed with tonel support but with filetree if you copy a package into a Monticello repo it get converted to mcz. So I think you can have a copy of each release in a Monticello repo if you want.

On Sat, Sep 29, 2018, 09:40 Sven Van Caekenberghe <[hidden email]> wrote:
Hi,

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 ?

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.

Thx,

Sven


Reply | Threaded
Open this post in threaded view
|

Re: Reach of Iceberg/git/tonel ?

EstebanLM
In reply to this post by Sven Van Caekenberghe-2
Hi,




> On 29 Sep 2018, at 14:39, Sven Van Caekenberghe <[hidden email]> wrote:
>
> Hi,
>
> 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.,
And viceversa.
Now, it you want to "transfer” the history from git to an mcz, you will need to do some migration tool.

Esteban

>
> Thx,
>
> Sven
>
>


Reply | Threaded
Open this post in threaded view
|

Re: Reach of Iceberg/git/tonel ?

Stephane Ducasse-3
Tx esteban
The situation is better than I thought. Near perfect in fact! Well done.
Now I think that as a community we should deprecate mcz packages.
This is why we should migrate our projects to git and tonel.
S.
On Sun, Sep 30, 2018 at 11:01 AM Esteban Lorenzano <[hidden email]> wrote:

>
> Hi,
>
>
>
>
> > On 29 Sep 2018, at 14:39, Sven Van Caekenberghe <[hidden email]> wrote:
> >
> > Hi,
> >
> > 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.,
> And viceversa.
> Now, it you want to "transfer” the history from git to an mcz, you will need to do some migration tool.
>
> Esteban
>
> >
> > Thx,
> >
> > Sven
> >
> >
>
>

Reply | Threaded
Open this post in threaded view
|

Re: Reach of Iceberg/git/tonel ?

Sven Van Caekenberghe-2
In reply to this post by EstebanLM


> On 30 Sep 2018, at 11:00, Esteban Lorenzano <[hidden email]> wrote:
>
> Hi,
>
>
>
>
>> On 29 Sep 2018, at 14:39, Sven Van Caekenberghe <[hidden email]> wrote:
>>
>> Hi,
>>
>> 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.,
> And viceversa.
> Now, it you want to "transfer” the history from git to an mcz, you will need to do some migration tool.
>
> Esteban

Thank you Esteban, for the explanation and for the implementation, that all sounds really good.

Iceberg has been very stable for me this past week, great work.

>> Thx,
>>
>> Sven
>>
>>
>
>