[ANN] Iceberg 0.6 released

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

[ANN] Iceberg 0.6 released

EstebanLM
Hi all, 

I released Iceberg version 0.6. It includes a lot of small tweaks and fixes, but the most important inclusion is tonel file format which aims to replace file tree.

Tonel is a file-per-class file format for monticello repositories. It’s purpose is to reduce the amount of files touched each operation, make the IO faster an compact the repositories database. 
It has also as an objective to offer an “easy-to-read” format, so people wanting to understand a chunk of code will recognise it easily. 
For testing, I migrated several of my projects to Tonel and I’ve been using it, you can see some as examples: 

https://github.com/estebanlm/pharo-tonel (this was just an example and it has some minimal errors already fixed)

We plan to migrate Pharo development to tonel to address some problems we have: 

- since it has to read/write a lot of files, IO operations are slow
- and even much more slow in Windows
- Windows also has a problem with longpaths.

Iceberg 0.6 will be integrated to Pharo7 soon :)
To update Pharo 6.1, there are instructions in the readme: https://github.com/pharo-vcs/iceberg/blob/master/README.md
now, if you wan to migrate your projects to Tonel (from FileTree), here is a script you can use: https://github.com/pharo-vcs/tonel/blob/master/MigrateFromFileTree.md

btw, tonel is independent of Iceberg and can be used with plain Monticello (but it is a metadaless format, history will reside on git, not on monticello).

cheers, 
Esteban 
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Iceberg 0.6 released

Stephane Ducasse-3
Hi esteban

I did not find the script that you mentioned.

Stef

On Fri, Oct 6, 2017 at 7:18 PM, Esteban Lorenzano <[hidden email]> wrote:

> Hi all,
>
> I released Iceberg version 0.6. It includes a lot of small tweaks and fixes,
> but the most important inclusion is tonel file format which aims to replace
> file tree.
>
> What is Tonel? (https://github.com/pharo-vcs/tonel)
> Tonel is a file-per-class file format for monticello repositories. It’s
> purpose is to reduce the amount of files touched each operation, make the IO
> faster an compact the repositories database.
> It has also as an objective to offer an “easy-to-read” format, so people
> wanting to understand a chunk of code will recognise it easily.
> For testing, I migrated several of my projects to Tonel and I’ve been using
> it, you can see some as examples:
>
> https://github.com/estebanlm/MUDClient
> https://github.com/estebanlm/pharo-tonel (this was just an example and it
> has some minimal errors already fixed)
>
> We plan to migrate Pharo development to tonel to address some problems we
> have:
>
> - since it has to read/write a lot of files, IO operations are slow
> - and even much more slow in Windows
> - Windows also has a problem with longpaths.
>
> Iceberg 0.6 will be integrated to Pharo7 soon :)
> To update Pharo 6.1, there are instructions in the readme:
> https://github.com/pharo-vcs/iceberg/blob/master/README.md
> now, if you wan to migrate your projects to Tonel (from FileTree), here is a
> script you can use:
> https://github.com/pharo-vcs/tonel/blob/master/MigrateFromFileTree.md
>
> btw, tonel is independent of Iceberg and can be used with plain Monticello
> (but it is a metadaless format, history will reside on git, not on
> monticello).
>
> cheers,
> Esteban

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Iceberg 0.6 released

EstebanLM

On 6 Oct 2017, at 20:05, Stephane Ducasse <[hidden email]> wrote:

Hi esteban

I did not find the script that you mentioned.

the one for filetree to tonel?


I will copy here:

locationDir := 'path/to/your/repo' asFileReference.
subDir := 'your-source-dir-or-empty'.
sourceDir := locationDir.
subDir 
	ifNotNil: [
		subDirWithDelim := subDir, '/'. 
		sourceDir := sourceDir / subDir ]
	ifNil: [
		subDirWithDelim := '' ].

repo := IceRepositoryCreator new 
	location: locationDir;
	subdirectory: subDir;
	createRepository.

"branch if you want to perform the migration on separated place (you can later do a PR)"
repo createBranch: 'migrate-sources-to-tonel'.

commit := repo branch lastCommit.
repo savedPackages do: [ :each | | filetreePackage |
	TonelWriter fileOut: (commit versionFor: each) on: sourceDir.
	filetreePackage := IceLibgitFiletreeWriter directoryNameFor: each.
	(sourceDir / filetreePackage) ensureDeleteAll.
	 repo addFilesToIndex: { 
		subDirWithDelim, (IceLibgitTonelWriter directoryNameFor: each).
		subDirWithDelim, (IceLibgitFiletreeWriter directoryNameFor: each). } ].

repo addProperties: (IceRepositoryProperties fromDictionary: { #format -> #tonel } asDictionary).

repo 
	commitIndexWithMessage: 'sources migrated' 
	andParents: { commit }.
	
repo push.




Stef

On Fri, Oct 6, 2017 at 7:18 PM, Esteban Lorenzano <[hidden email]> wrote:
Hi all,

I released Iceberg version 0.6. It includes a lot of small tweaks and fixes,
but the most important inclusion is tonel file format which aims to replace
file tree.

What is Tonel? (https://github.com/pharo-vcs/tonel)
Tonel is a file-per-class file format for monticello repositories. It’s
purpose is to reduce the amount of files touched each operation, make the IO
faster an compact the repositories database.
It has also as an objective to offer an “easy-to-read” format, so people
wanting to understand a chunk of code will recognise it easily.
For testing, I migrated several of my projects to Tonel and I’ve been using
it, you can see some as examples:

https://github.com/estebanlm/MUDClient
https://github.com/estebanlm/pharo-tonel (this was just an example and it
has some minimal errors already fixed)

We plan to migrate Pharo development to tonel to address some problems we
have:

- since it has to read/write a lot of files, IO operations are slow
- and even much more slow in Windows
- Windows also has a problem with longpaths.

Iceberg 0.6 will be integrated to Pharo7 soon :)
To update Pharo 6.1, there are instructions in the readme:
https://github.com/pharo-vcs/iceberg/blob/master/README.md
now, if you wan to migrate your projects to Tonel (from FileTree), here is a
script you can use:
https://github.com/pharo-vcs/tonel/blob/master/MigrateFromFileTree.md

btw, tonel is independent of Iceberg and can be used with plain Monticello
(but it is a metadaless format, history will reside on git, not on
monticello).

cheers,
Esteban


Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Iceberg 0.6 released

EstebanLM

On 6 Oct 2017, at 20:08, Esteban Lorenzano <[hidden email]> wrote:


On 6 Oct 2017, at 20:05, Stephane Ducasse <[hidden email]> wrote:

Hi esteban

I did not find the script that you mentioned.

the one for filetree to tonel?


I will copy here:

locationDir := 'path/to/your/repo' asFileReference.
subDir := 'your-source-dir-or-empty'.
sourceDir := locationDir.
subDir 
	ifNotNil: [
		subDirWithDelim := subDir, '/'. 
		sourceDir := sourceDir / subDir ]
	ifNil: [
		subDirWithDelim := '' ].

repo := IceRepositoryCreator new 
	location: locationDir;
	subdirectory: subDir;
	createRepository.

"branch if you want to perform the migration on separated place (you can later do a PR)"
repo createBranch: 'migrate-sources-to-tonel'.

commit := repo branch lastCommit.
repo savedPackages do: [ :each | | filetreePackage |
	TonelWriter fileOut: (commit versionFor: each) on: sourceDir.
	filetreePackage := IceLibgitFiletreeWriter directoryNameFor: each.
	(sourceDir / filetreePackage) ensureDeleteAll.
	 repo addFilesToIndex: { 
		subDirWithDelim, (IceLibgitTonelWriter directoryNameFor: each).
		subDirWithDelim, (IceLibgitFiletreeWriter directoryNameFor: each). } ].

repo addProperties: (IceRepositoryProperties fromDictionary: { #format -> #tonel } asDictionary).

repo 
	commitIndexWithMessage: 'sources migrated' 
	andParents: { commit }.
	
repo push.



but beware, to use 0.6 on Pharo7, better wait until integration (next week): update is not trivial because pharo project comes with some IceMCVersionInfo inside that will become obsolete, etc., etc., etc.

Esteban



Stef

On Fri, Oct 6, 2017 at 7:18 PM, Esteban Lorenzano <[hidden email]> wrote:
Hi all,

I released Iceberg version 0.6. It includes a lot of small tweaks and fixes,
but the most important inclusion is tonel file format which aims to replace
file tree.

What is Tonel? (https://github.com/pharo-vcs/tonel)
Tonel is a file-per-class file format for monticello repositories. It’s
purpose is to reduce the amount of files touched each operation, make the IO
faster an compact the repositories database.
It has also as an objective to offer an “easy-to-read” format, so people
wanting to understand a chunk of code will recognise it easily.
For testing, I migrated several of my projects to Tonel and I’ve been using
it, you can see some as examples:

https://github.com/estebanlm/MUDClient
https://github.com/estebanlm/pharo-tonel (this was just an example and it
has some minimal errors already fixed)

We plan to migrate Pharo development to tonel to address some problems we
have:

- since it has to read/write a lot of files, IO operations are slow
- and even much more slow in Windows
- Windows also has a problem with longpaths.

Iceberg 0.6 will be integrated to Pharo7 soon :)
To update Pharo 6.1, there are instructions in the readme:
https://github.com/pharo-vcs/iceberg/blob/master/README.md
now, if you wan to migrate your projects to Tonel (from FileTree), here is a
script you can use:
https://github.com/pharo-vcs/tonel/blob/master/MigrateFromFileTree.md

btw, tonel is independent of Iceberg and can be used with plain Monticello
(but it is a metadaless format, history will reside on git, not on
monticello).

cheers,
Esteban



Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Iceberg 0.6 released

Tudor Girba-2
In reply to this post by EstebanLM
Great work!

I am looking forward for the integration.

Doru


> On Oct 6, 2017, at 7:18 PM, Esteban Lorenzano <[hidden email]> wrote:
>
> Hi all,
>
> I released Iceberg version 0.6. It includes a lot of small tweaks and fixes, but the most important inclusion is tonel file format which aims to replace file tree.
>
> What is Tonel? (https://github.com/pharo-vcs/tonel)
> Tonel is a file-per-class file format for monticello repositories. It’s purpose is to reduce the amount of files touched each operation, make the IO faster an compact the repositories database.
> It has also as an objective to offer an “easy-to-read” format, so people wanting to understand a chunk of code will recognise it easily.
> For testing, I migrated several of my projects to Tonel and I’ve been using it, you can see some as examples:
>
> https://github.com/estebanlm/MUDClient
> https://github.com/estebanlm/pharo-tonel (this was just an example and it has some minimal errors already fixed)
>
> We plan to migrate Pharo development to tonel to address some problems we have:
>
> - since it has to read/write a lot of files, IO operations are slow
> - and even much more slow in Windows
> - Windows also has a problem with longpaths.
>
> Iceberg 0.6 will be integrated to Pharo7 soon :)
> To update Pharo 6.1, there are instructions in the readme: https://github.com/pharo-vcs/iceberg/blob/master/README.md
> now, if you wan to migrate your projects to Tonel (from FileTree), here is a script you can use: https://github.com/pharo-vcs/tonel/blob/master/MigrateFromFileTree.md
>
> btw, tonel is independent of Iceberg and can be used with plain Monticello (but it is a metadaless format, history will reside on git, not on monticello).
>
> cheers,
> Esteban

--
www.tudorgirba.com
www.feenk.com

"The coherence of a trip is given by the clearness of the goal."






Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Iceberg 0.6 released

gcotelli
In reply to this post by EstebanLM
Will it be also integrated on Pharo 6.1?

On Fri, Oct 6, 2017 at 3:10 PM, Esteban Lorenzano <[hidden email]> wrote:

On 6 Oct 2017, at 20:08, Esteban Lorenzano <[hidden email]> wrote:


On 6 Oct 2017, at 20:05, Stephane Ducasse <[hidden email]> wrote:

Hi esteban

I did not find the script that you mentioned.

the one for filetree to tonel?


I will copy here:

locationDir := 'path/to/your/repo' asFileReference.
subDir := 'your-source-dir-or-empty'.
sourceDir := locationDir.
subDir 
	ifNotNil: [
		subDirWithDelim := subDir, '/'. 
		sourceDir := sourceDir / subDir ]
	ifNil: [
		subDirWithDelim := '' ].

repo := IceRepositoryCreator new 
	location: locationDir;
	subdirectory: subDir;
	createRepository.

"branch if you want to perform the migration on separated place (you can later do a PR)"
repo createBranch: 'migrate-sources-to-tonel'.

commit := repo branch lastCommit.
repo savedPackages do: [ :each | | filetreePackage |
	TonelWriter fileOut: (commit versionFor: each) on: sourceDir.
	filetreePackage := IceLibgitFiletreeWriter directoryNameFor: each.
	(sourceDir / filetreePackage) ensureDeleteAll.
	 repo addFilesToIndex: { 
		subDirWithDelim, (IceLibgitTonelWriter directoryNameFor: each).
		subDirWithDelim, (IceLibgitFiletreeWriter directoryNameFor: each). } ].

repo addProperties: (IceRepositoryProperties fromDictionary: { #format -> #tonel } asDictionary).

repo 
	commitIndexWithMessage: 'sources migrated' 
	andParents: { commit }.
	
repo push.



but beware, to use 0.6 on Pharo7, better wait until integration (next week): update is not trivial because pharo project comes with some IceMCVersionInfo inside that will become obsolete, etc., etc., etc.

Esteban



Stef

On Fri, Oct 6, 2017 at 7:18 PM, Esteban Lorenzano <[hidden email]> wrote:
Hi all,

I released Iceberg version 0.6. It includes a lot of small tweaks and fixes,
but the most important inclusion is tonel file format which aims to replace
file tree.

What is Tonel? (https://github.com/pharo-vcs/tonel)
Tonel is a file-per-class file format for monticello repositories. It’s
purpose is to reduce the amount of files touched each operation, make the IO
faster an compact the repositories database.
It has also as an objective to offer an “easy-to-read” format, so people
wanting to understand a chunk of code will recognise it easily.
For testing, I migrated several of my projects to Tonel and I’ve been using
it, you can see some as examples:

https://github.com/estebanlm/MUDClient
https://github.com/estebanlm/pharo-tonel (this was just an example and it
has some minimal errors already fixed)

We plan to migrate Pharo development to tonel to address some problems we
have:

- since it has to read/write a lot of files, IO operations are slow
- and even much more slow in Windows
- Windows also has a problem with longpaths.

Iceberg 0.6 will be integrated to Pharo7 soon :)
To update Pharo 6.1, there are instructions in the readme:
https://github.com/pharo-vcs/iceberg/blob/master/README.md
now, if you wan to migrate your projects to Tonel (from FileTree), here is a
script you can use:
https://github.com/pharo-vcs/tonel/blob/master/MigrateFromFileTree.md

btw, tonel is independent of Iceberg and can be used with plain Monticello
(but it is a metadaless format, history will reside on git, not on
monticello).

cheers,
Esteban




Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Iceberg 0.6 released

Mariano Martinez Peck
I followed the instructions to update Iceberg from in a 6.1 image. When I tried to clone the repository, I have the attached error (DNU on #dangerTextColor). I workedaround that by doing:

IceAbstractModel >> colorError
^ Color red

After I manage to make some progress and I finally was able to clone the repository, I get a #free DNU (see attached too). 

Cheers, 
 

On Fri, Oct 6, 2017 at 3:46 PM, Gabriel Cotelli <[hidden email]> wrote:
Will it be also integrated on Pharo 6.1?

On Fri, Oct 6, 2017 at 3:10 PM, Esteban Lorenzano <[hidden email]> wrote:

On 6 Oct 2017, at 20:08, Esteban Lorenzano <[hidden email]> wrote:


On 6 Oct 2017, at 20:05, Stephane Ducasse <[hidden email]> wrote:

Hi esteban

I did not find the script that you mentioned.

the one for filetree to tonel?


I will copy here:

locationDir := 'path/to/your/repo' asFileReference.
subDir := 'your-source-dir-or-empty'.
sourceDir := locationDir.
subDir 
	ifNotNil: [
		subDirWithDelim := subDir, '/'. 
		sourceDir := sourceDir / subDir ]
	ifNil: [
		subDirWithDelim := '' ].

repo := IceRepositoryCreator new 
	location: locationDir;
	subdirectory: subDir;
	createRepository.

"branch if you want to perform the migration on separated place (you can later do a PR)"
repo createBranch: 'migrate-sources-to-tonel'.

commit := repo branch lastCommit.
repo savedPackages do: [ :each | | filetreePackage |
	TonelWriter fileOut: (commit versionFor: each) on: sourceDir.
	filetreePackage := IceLibgitFiletreeWriter directoryNameFor: each.
	(sourceDir / filetreePackage) ensureDeleteAll.
	 repo addFilesToIndex: { 
		subDirWithDelim, (IceLibgitTonelWriter directoryNameFor: each).
		subDirWithDelim, (IceLibgitFiletreeWriter directoryNameFor: each). } ].

repo addProperties: (IceRepositoryProperties fromDictionary: { #format -> #tonel } asDictionary).

repo 
	commitIndexWithMessage: 'sources migrated' 
	andParents: { commit }.
	
repo push.



but beware, to use 0.6 on Pharo7, better wait until integration (next week): update is not trivial because pharo project comes with some IceMCVersionInfo inside that will become obsolete, etc., etc., etc.

Esteban



Stef

On Fri, Oct 6, 2017 at 7:18 PM, Esteban Lorenzano <[hidden email]> wrote:
Hi all,

I released Iceberg version 0.6. It includes a lot of small tweaks and fixes,
but the most important inclusion is tonel file format which aims to replace
file tree.

What is Tonel? (https://github.com/pharo-vcs/tonel)
Tonel is a file-per-class file format for monticello repositories. It’s
purpose is to reduce the amount of files touched each operation, make the IO
faster an compact the repositories database.
It has also as an objective to offer an “easy-to-read” format, so people
wanting to understand a chunk of code will recognise it easily.
For testing, I migrated several of my projects to Tonel and I’ve been using
it, you can see some as examples:

https://github.com/estebanlm/MUDClient
https://github.com/estebanlm/pharo-tonel (this was just an example and it
has some minimal errors already fixed)

We plan to migrate Pharo development to tonel to address some problems we
have:

- since it has to read/write a lot of files, IO operations are slow
- and even much more slow in Windows
- Windows also has a problem with longpaths.

Iceberg 0.6 will be integrated to Pharo7 soon :)
To update Pharo 6.1, there are instructions in the readme:
https://github.com/pharo-vcs/iceberg/blob/master/README.md
now, if you wan to migrate your projects to Tonel (from FileTree), here is a
script you can use:
https://github.com/pharo-vcs/tonel/blob/master/MigrateFromFileTree.md

btw, tonel is independent of Iceberg and can be used with plain Monticello
(but it is a metadaless format, history will reside on git, not on
monticello).

cheers,
Esteban







--

Screen Shot 2017-10-06 at 4.37.15 PM.png (235K) Download Attachment
Screen Shot 2017-10-06 at 4.21.09 PM.png (166K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Iceberg 0.6 released

Stephane Ducasse-3
In reply to this post by gcotelli
Hi gabriel

I think so because this is important for many people.

Stef

On Fri, Oct 6, 2017 at 8:46 PM, Gabriel Cotelli <[hidden email]> wrote:

> Will it be also integrated on Pharo 6.1?
>
> On Fri, Oct 6, 2017 at 3:10 PM, Esteban Lorenzano <[hidden email]>
> wrote:
>>
>>
>> On 6 Oct 2017, at 20:08, Esteban Lorenzano <[hidden email]> wrote:
>>
>>
>> On 6 Oct 2017, at 20:05, Stephane Ducasse <[hidden email]> wrote:
>>
>> Hi esteban
>>
>> I did not find the script that you mentioned.
>>
>>
>> the one for filetree to tonel?
>>
>> https://github.com/pharo-vcs/tonel/blob/master/MigrateFromFileTree.md
>>
>> I will copy here:
>>
>> locationDir := 'path/to/your/repo' asFileReference.
>> subDir := 'your-source-dir-or-empty'.
>> sourceDir := locationDir.
>> subDir
>> ifNotNil: [
>> subDirWithDelim := subDir, '/'.
>> sourceDir := sourceDir / subDir ]
>> ifNil: [
>> subDirWithDelim := '' ].
>>
>> repo := IceRepositoryCreator new
>> location: locationDir;
>> subdirectory: subDir;
>> createRepository.
>>
>> "branch if you want to perform the migration on separated place (you can
>> later do a PR)"
>> repo createBranch: 'migrate-sources-to-tonel'.
>>
>> commit := repo branch lastCommit.
>> repo savedPackages do: [ :each | | filetreePackage |
>> TonelWriter fileOut: (commit versionFor: each) on: sourceDir.
>> filetreePackage := IceLibgitFiletreeWriter directoryNameFor: each.
>> (sourceDir / filetreePackage) ensureDeleteAll.
>> repo addFilesToIndex: {
>> subDirWithDelim, (IceLibgitTonelWriter directoryNameFor: each).
>> subDirWithDelim, (IceLibgitFiletreeWriter directoryNameFor: each). } ].
>>
>> repo addProperties: (IceRepositoryProperties fromDictionary: { #format ->
>> #tonel } asDictionary).
>>
>> repo
>> commitIndexWithMessage: 'sources migrated'
>> andParents: { commit }.
>>
>> repo push.
>>
>>
>>
>>
>> but beware, to use 0.6 on Pharo7, better wait until integration (next
>> week): update is not trivial because pharo project comes with some
>> IceMCVersionInfo inside that will become obsolete, etc., etc., etc.
>>
>> Esteban
>>
>>
>>
>> Stef
>>
>> On Fri, Oct 6, 2017 at 7:18 PM, Esteban Lorenzano <[hidden email]>
>> wrote:
>>
>> Hi all,
>>
>> I released Iceberg version 0.6. It includes a lot of small tweaks and
>> fixes,
>> but the most important inclusion is tonel file format which aims to
>> replace
>> file tree.
>>
>> What is Tonel? (https://github.com/pharo-vcs/tonel)
>> Tonel is a file-per-class file format for monticello repositories. It’s
>> purpose is to reduce the amount of files touched each operation, make the
>> IO
>> faster an compact the repositories database.
>> It has also as an objective to offer an “easy-to-read” format, so people
>> wanting to understand a chunk of code will recognise it easily.
>> For testing, I migrated several of my projects to Tonel and I’ve been
>> using
>> it, you can see some as examples:
>>
>> https://github.com/estebanlm/MUDClient
>> https://github.com/estebanlm/pharo-tonel (this was just an example and it
>> has some minimal errors already fixed)
>>
>> We plan to migrate Pharo development to tonel to address some problems we
>> have:
>>
>> - since it has to read/write a lot of files, IO operations are slow
>> - and even much more slow in Windows
>> - Windows also has a problem with longpaths.
>>
>> Iceberg 0.6 will be integrated to Pharo7 soon :)
>> To update Pharo 6.1, there are instructions in the readme:
>> https://github.com/pharo-vcs/iceberg/blob/master/README.md
>> now, if you wan to migrate your projects to Tonel (from FileTree), here is
>> a
>> script you can use:
>> https://github.com/pharo-vcs/tonel/blob/master/MigrateFromFileTree.md
>>
>> btw, tonel is independent of Iceberg and can be used with plain Monticello
>> (but it is a metadaless format, history will reside on git, not on
>> monticello).
>>
>> cheers,
>> Esteban
>>
>>
>>
>>
>

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Iceberg 0.6 released

CyrilFerlicot
In reply to this post by Mariano Martinez Peck
Le 06/10/2017 à 21:34, Mariano Martinez Peck a écrit :

> I followed the instructions to update Iceberg from in a 6.1 image. When
> I tried to clone the repository, I have the attached error (DNU on
> #dangerTextColor). I workedaround that by doing:
>
> IceAbstractModel >> colorError
> ^ Color red
>
> After I manage to make some progress and I finally was able to clone the
> repository, I get a #free DNU (see attached too). 
>
Hi,

I introduced #dangerTextColor in Pharo 7 and used it on Iceberg. But I
though I added it to #Iceberg-Pharo6 package.

I'll check and do a hotfix when I'll have the time.

> Cheers, 
>  
>
>
>
>
>
> --
> Mariano
> http://marianopeck.wordpress.com

--
Cyril Ferlicot
https://ferlicot.fr

http://www.synectique.eu
2 rue Jacques Prévert 01,
59650 Villeneuve d'ascq France


signature.asc (836 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Iceberg 0.6 released

Mariano Martinez Peck
Another error... I clicked "Open" to the git repository  from the MC browser, and I also get an error. See attached. 

On Fri, Oct 6, 2017 at 4:38 PM, Cyril Ferlicot D. <[hidden email]> wrote:
Le 06/10/2017 à 21:34, Mariano Martinez Peck a écrit :
> I followed the instructions to update Iceberg from in a 6.1 image. When
> I tried to clone the repository, I have the attached error (DNU on
> #dangerTextColor). I workedaround that by doing:
>
> IceAbstractModel >> colorError
> ^ Color red
>
> After I manage to make some progress and I finally was able to clone the
> repository, I get a #free DNU (see attached too). 
>

Hi,

I introduced #dangerTextColor in Pharo 7 and used it on Iceberg. But I
though I added it to #Iceberg-Pharo6 package.

I'll check and do a hotfix when I'll have the time.

> Cheers, 
>  
>
>
>
>
>
> --
> Mariano
> http://marianopeck.wordpress.com


--
Cyril Ferlicot
https://ferlicot.fr

http://www.synectique.eu
2 rue Jacques Prévert 01,
59650 Villeneuve d'ascq France




--

Screen Shot 2017-10-06 at 4.44.49 PM.png (687K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Iceberg 0.6 released

CyrilFerlicot
In reply to this post by CyrilFerlicot
Le 06/10/2017 à 21:38, Cyril Ferlicot D. a écrit :

> Le 06/10/2017 à 21:34, Mariano Martinez Peck a écrit :
>> I followed the instructions to update Iceberg from in a 6.1 image. When
>> I tried to clone the repository, I have the attached error (DNU on
>> #dangerTextColor). I workedaround that by doing:
>>
>> IceAbstractModel >> colorError
>> ^ Color red
>>
>> After I manage to make some progress and I finally was able to clone the
>> repository, I get a #free DNU (see attached too). 
>>
>
> Hi,
>
> I introduced #dangerTextColor in Pharo 7 and used it on Iceberg. But I
> though I added it to #Iceberg-Pharo6 package.
>
> I'll check and do a hotfix when I'll have the time.
>
Hum… This is weird because I see those methods in the Iceberg-Pharo6
package and I see this package in the baseline.

Can you check if you have this package?

(See screen)

>> Cheers, 
>>  
>>
>>
>>
>>
>>
>> --
>> Mariano
>> http://marianopeck.wordpress.com
>
>

--
Cyril Ferlicot
https://ferlicot.fr

http://www.synectique.eu
2 rue Jacques Prévert 01,
59650 Villeneuve d'ascq France

ss+(2017-10-06+at+09.43.58).png (696K) Download Attachment
signature.asc (836 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Iceberg 0.6 released

Mariano Martinez Peck


On Fri, Oct 6, 2017 at 4:46 PM, Cyril Ferlicot D. <[hidden email]> wrote:
Le 06/10/2017 à 21:38, Cyril Ferlicot D. a écrit :
> Le 06/10/2017 à 21:34, Mariano Martinez Peck a écrit :
>> I followed the instructions to update Iceberg from in a 6.1 image. When
>> I tried to clone the repository, I have the attached error (DNU on
>> #dangerTextColor). I workedaround that by doing:
>>
>> IceAbstractModel >> colorError
>> ^ Color red
>>
>> After I manage to make some progress and I finally was able to clone the
>> repository, I get a #free DNU (see attached too). 
>>
>
> Hi,
>
> I introduced #dangerTextColor in Pharo 7 and used it on Iceberg. But I
> though I added it to #Iceberg-Pharo6 package.
>
> I'll check and do a hotfix when I'll have the time.
>

Hum… This is weird because I see those methods in the Iceberg-Pharo6
package and I see this package in the baseline.

Can you check if you have this package?


Weird.... that package is not being loaded...  sure I can explicitly load it ... but I think we must fix the baseline... but the baseline looks correct doesnt it ? I don't understand.

 

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

Re: [ANN] Iceberg 0.6 released

Tim Mackinnon
In reply to this post by EstebanLM
Gosh - It actually work quite well to be able to easily browse code online in a more traditional format of seeing an entire class. Hopefully this leads to us being able to share solutions to common language agnostic problems.

One small observation - I quickly grok’d the use of class { …. } (with the curly braces) - but given that smalltalk methods often have lots of  [ ] (square braces in them), I was a bit surprised to see that method declarations in tonal don’t use { … } (curly braces) to denote them, but instead use [ ] - which feels slightly strange given the class declaration above has. {}.

Was it easier to parse this way, or is there some subtlety I missed? I would have been tempted to use  {} for classes and methods and [] for the protocols as this more closely matches what other languages do - and it might actually make it more easily readable for other programmers. Given we have to learn this new format anyway - I’d be prepared to give a nod to what others do…

Possibly this observation comes to late - and maybe there is compelling reason to go the route we have gone - but maybe its worth a quick double check as its an exciting development.

Tim

On 6 Oct 2017, at 18:18, Esteban Lorenzano <[hidden email]> wrote:

Hi all, 

I released Iceberg version 0.6. It includes a lot of small tweaks and fixes, but the most important inclusion is tonel file format which aims to replace file tree.

Tonel is a file-per-class file format for monticello repositories. It’s purpose is to reduce the amount of files touched each operation, make the IO faster an compact the repositories database. 
It has also as an objective to offer an “easy-to-read” format, so people wanting to understand a chunk of code will recognise it easily. 
For testing, I migrated several of my projects to Tonel and I’ve been using it, you can see some as examples: 

https://github.com/estebanlm/pharo-tonel (this was just an example and it has some minimal errors already fixed)

We plan to migrate Pharo development to tonel to address some problems we have: 

- since it has to read/write a lot of files, IO operations are slow
- and even much more slow in Windows
- Windows also has a problem with longpaths.

Iceberg 0.6 will be integrated to Pharo7 soon :)
To update Pharo 6.1, there are instructions in the readme: https://github.com/pharo-vcs/iceberg/blob/master/README.md
now, if you wan to migrate your projects to Tonel (from FileTree), here is a script you can use: https://github.com/pharo-vcs/tonel/blob/master/MigrateFromFileTree.md

btw, tonel is independent of Iceberg and can be used with plain Monticello (but it is a metadaless format, history will reside on git, not on monticello).

cheers, 
Esteban 

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Iceberg 0.6 released

CyrilFerlicot
Le 06/10/2017 à 23:34, Tim Mackinnon a écrit :

> Gosh - It actually work quite well to be able to easily browse code
> online in a more traditional format of seeing an entire class. Hopefully
> this leads to us being able to share solutions to common language
> agnostic problems.
>
> One small observation - I quickly grok’d the use of class { …. } (with
> the curly braces) - but given that smalltalk methods often have lots of
>  [ ] (square braces in them), I was a bit surprised to see that method
> declarations in tonal don’t use { … } (curly braces) to denote them, but
> instead use [ ] - which feels slightly strange given the class
> declaration above has. {}.
>
> Was it easier to parse this way, or is there some subtlety I missed? I
> would have been tempted to use  {} for classes and methods and [] for
> the protocols as this more closely matches what other languages do - and
> it might actually make it more easily readable for other programmers.
> Given we have to learn this new format anyway - I’d be prepared to give
> a nod to what others do…
>
> Possibly this observation comes to late - and maybe there is compelling
> reason to go the route we have gone - but maybe its worth a quick double
> check as its an exciting development.
>
> Tim
>
>
Hi,

I cannot say for class, but the {} for methods metadata (as protocols)
is because it is STON.

--
Cyril Ferlicot
https://ferlicot.fr

http://www.synectique.eu
2 rue Jacques Prévert 01,
59650 Villeneuve d'ascq France


signature.asc (836 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Iceberg 0.6 released

CyrilFerlicot
In reply to this post by Mariano Martinez Peck
Le 06/10/2017 à 21:56, Mariano Martinez Peck a écrit :
>
> Weird.... that package is not being loaded...  sure I can explicitly
> load it ... but I think we must fix the baseline... but the baseline
> looks correct doesnt it ? I don't understand.
>
>  

I think I found the way to correct this problem. I will do a PR with the
fix.

>
> --
> Mariano
> http://marianopeck.wordpress.com


--
Cyril Ferlicot
https://ferlicot.fr

http://www.synectique.eu
2 rue Jacques Prévert 01,
59650 Villeneuve d'ascq France


signature.asc (836 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Iceberg 0.6 released

CyrilFerlicot
Le 07/10/2017 à 00:34, Cyril Ferlicot D. a écrit :

> Le 06/10/2017 à 21:56, Mariano Martinez Peck a écrit :
>>
>> Weird.... that package is not being loaded...  sure I can explicitly
>> load it ... but I think we must fix the baseline... but the baseline
>> looks correct doesnt it ? I don't understand.
>>
>>  
>
> I think I found the way to correct this problem. I will do a PR with the
> fix.
>
https://github.com/pharo-vcs/iceberg/pull/478

>>
>> --
>> Mariano
>> http://marianopeck.wordpress.com
>
>


--
Cyril Ferlicot
https://ferlicot.fr

http://www.synectique.eu
2 rue Jacques Prévert 01,
59650 Villeneuve d'ascq France


signature.asc (836 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Iceberg 0.6 released

Denis Kudriashov
In reply to this post by EstebanLM
Hi Esteban

2017-10-06 19:18 GMT+02:00 Esteban Lorenzano <[hidden email]>:
Hi all, 

I released Iceberg version 0.6. It includes a lot of small tweaks and fixes, but the most important inclusion is tonel file format which aims to replace file tree.

Tonel is a file-per-class file format for monticello repositories. It’s purpose is to reduce the amount of files touched each operation, make the IO faster an compact the repositories database. 
It has also as an objective to offer an “easy-to-read” format, so people wanting to understand a chunk of code will recognise it easily. 
For testing, I migrated several of my projects to Tonel and I’ve been using it, you can see some as examples: 

https://github.com/estebanlm/pharo-tonel (this was just an example and it has some minimal errors already fixed)

Did you accept format changes?
Because it still uses category for the class. Really, we are moving away from it. Class has package and tags.
Method also needs support for multiple tags. While you are not agree on using tags terminology Tonel still uses single category for this. 
I think it is important for the new format to not use deprecated names and add support for upcoming features. Instead we will be forced to maintain old Tonel format at some point.
And what about slots and class extensions? Do you have example for them?
 

We plan to migrate Pharo development to tonel to address some problems we have: 

- since it has to read/write a lot of files, IO operations are slow
- and even much more slow in Windows
- Windows also has a problem with longpaths.

Iceberg 0.6 will be integrated to Pharo7 soon :)
To update Pharo 6.1, there are instructions in the readme: https://github.com/pharo-vcs/iceberg/blob/master/README.md
now, if you wan to migrate your projects to Tonel (from FileTree), here is a script you can use: https://github.com/pharo-vcs/tonel/blob/master/MigrateFromFileTree.md

btw, tonel is independent of Iceberg and can be used with plain Monticello (but it is a metadaless format, history will reside on git, not on monticello).

cheers, 
Esteban 

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Iceberg 0.6 released

Denis Kudriashov
In reply to this post by EstebanLM
How method history will be supported with Tonel?

2017-10-06 19:18 GMT+02:00 Esteban Lorenzano <[hidden email]>:
Hi all, 

I released Iceberg version 0.6. It includes a lot of small tweaks and fixes, but the most important inclusion is tonel file format which aims to replace file tree.

Tonel is a file-per-class file format for monticello repositories. It’s purpose is to reduce the amount of files touched each operation, make the IO faster an compact the repositories database. 
It has also as an objective to offer an “easy-to-read” format, so people wanting to understand a chunk of code will recognise it easily. 
For testing, I migrated several of my projects to Tonel and I’ve been using it, you can see some as examples: 

https://github.com/estebanlm/pharo-tonel (this was just an example and it has some minimal errors already fixed)

We plan to migrate Pharo development to tonel to address some problems we have: 

- since it has to read/write a lot of files, IO operations are slow
- and even much more slow in Windows
- Windows also has a problem with longpaths.

Iceberg 0.6 will be integrated to Pharo7 soon :)
To update Pharo 6.1, there are instructions in the readme: https://github.com/pharo-vcs/iceberg/blob/master/README.md
now, if you wan to migrate your projects to Tonel (from FileTree), here is a script you can use: https://github.com/pharo-vcs/tonel/blob/master/MigrateFromFileTree.md

btw, tonel is independent of Iceberg and can be used with plain Monticello (but it is a metadaless format, history will reside on git, not on monticello).

cheers, 
Esteban 

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Iceberg 0.6 released

Stephane Ducasse-3
In reply to this post by Tim Mackinnon
Tim

we talk about this format of methods year ago and we will like it and
we will not discuss it anymore.
For the record a method is a named block so it fits and we do not have
to have {} for method delimiters.

Stef

On Fri, Oct 6, 2017 at 11:34 PM, Tim Mackinnon <[hidden email]> wrote:

> Gosh - It actually work quite well to be able to easily browse code online
> in a more traditional format of seeing an entire class. Hopefully this leads
> to us being able to share solutions to common language agnostic problems.
>
> One small observation - I quickly grok’d the use of class { …. } (with the
> curly braces) - but given that smalltalk methods often have lots of  [ ]
> (square braces in them), I was a bit surprised to see that method
> declarations in tonal don’t use { … } (curly braces) to denote them, but
> instead use [ ] - which feels slightly strange given the class declaration
> above has. {}.
>
> Was it easier to parse this way, or is there some subtlety I missed? I would
> have been tempted to use  {} for classes and methods and [] for the
> protocols as this more closely matches what other languages do - and it
> might actually make it more easily readable for other programmers. Given we
> have to learn this new format anyway - I’d be prepared to give a nod to what
> others do…
>
> Possibly this observation comes to late - and maybe there is compelling
> reason to go the route we have gone - but maybe its worth a quick double
> check as its an exciting development.
>
> Tim
>
> On 6 Oct 2017, at 18:18, Esteban Lorenzano <[hidden email]> wrote:
>
> Hi all,
>
> I released Iceberg version 0.6. It includes a lot of small tweaks and fixes,
> but the most important inclusion is tonel file format which aims to replace
> file tree.
>
> What is Tonel? (https://github.com/pharo-vcs/tonel)
> Tonel is a file-per-class file format for monticello repositories. It’s
> purpose is to reduce the amount of files touched each operation, make the IO
> faster an compact the repositories database.
> It has also as an objective to offer an “easy-to-read” format, so people
> wanting to understand a chunk of code will recognise it easily.
> For testing, I migrated several of my projects to Tonel and I’ve been using
> it, you can see some as examples:
>
> https://github.com/estebanlm/MUDClient
> https://github.com/estebanlm/pharo-tonel (this was just an example and it
> has some minimal errors already fixed)
>
> We plan to migrate Pharo development to tonel to address some problems we
> have:
>
> - since it has to read/write a lot of files, IO operations are slow
> - and even much more slow in Windows
> - Windows also has a problem with longpaths.
>
> Iceberg 0.6 will be integrated to Pharo7 soon :)
> To update Pharo 6.1, there are instructions in the readme:
> https://github.com/pharo-vcs/iceberg/blob/master/README.md
> now, if you wan to migrate your projects to Tonel (from FileTree), here is a
> script you can use:
> https://github.com/pharo-vcs/tonel/blob/master/MigrateFromFileTree.md
>
> btw, tonel is independent of Iceberg and can be used with plain Monticello
> (but it is a metadaless format, history will reside on git, not on
> monticello).
>
> cheers,
> Esteban
>
>

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Iceberg 0.6 released

Stephane Ducasse-3
Yes it would be good that class description do not use category else
we will never be able to clean.

Denis multiple tags for methods. when we will stop to add new features
and stabilise what we have?

Yes I'm not in a good mood because I see that I will have to migrate
all calypso in the future to brick.

Stef

On Sat, Oct 7, 2017 at 10:08 AM, Stephane Ducasse
<[hidden email]> wrote:

> Tim
>
> we talk about this format of methods year ago and we will like it and
> we will not discuss it anymore.
> For the record a method is a named block so it fits and we do not have
> to have {} for method delimiters.
>
> Stef
>
> On Fri, Oct 6, 2017 at 11:34 PM, Tim Mackinnon <[hidden email]> wrote:
>> Gosh - It actually work quite well to be able to easily browse code online
>> in a more traditional format of seeing an entire class. Hopefully this leads
>> to us being able to share solutions to common language agnostic problems.
>>
>> One small observation - I quickly grok’d the use of class { …. } (with the
>> curly braces) - but given that smalltalk methods often have lots of  [ ]
>> (square braces in them), I was a bit surprised to see that method
>> declarations in tonal don’t use { … } (curly braces) to denote them, but
>> instead use [ ] - which feels slightly strange given the class declaration
>> above has. {}.
>>
>> Was it easier to parse this way, or is there some subtlety I missed? I would
>> have been tempted to use  {} for classes and methods and [] for the
>> protocols as this more closely matches what other languages do - and it
>> might actually make it more easily readable for other programmers. Given we
>> have to learn this new format anyway - I’d be prepared to give a nod to what
>> others do…
>>
>> Possibly this observation comes to late - and maybe there is compelling
>> reason to go the route we have gone - but maybe its worth a quick double
>> check as its an exciting development.
>>
>> Tim
>>
>> On 6 Oct 2017, at 18:18, Esteban Lorenzano <[hidden email]> wrote:
>>
>> Hi all,
>>
>> I released Iceberg version 0.6. It includes a lot of small tweaks and fixes,
>> but the most important inclusion is tonel file format which aims to replace
>> file tree.
>>
>> What is Tonel? (https://github.com/pharo-vcs/tonel)
>> Tonel is a file-per-class file format for monticello repositories. It’s
>> purpose is to reduce the amount of files touched each operation, make the IO
>> faster an compact the repositories database.
>> It has also as an objective to offer an “easy-to-read” format, so people
>> wanting to understand a chunk of code will recognise it easily.
>> For testing, I migrated several of my projects to Tonel and I’ve been using
>> it, you can see some as examples:
>>
>> https://github.com/estebanlm/MUDClient
>> https://github.com/estebanlm/pharo-tonel (this was just an example and it
>> has some minimal errors already fixed)
>>
>> We plan to migrate Pharo development to tonel to address some problems we
>> have:
>>
>> - since it has to read/write a lot of files, IO operations are slow
>> - and even much more slow in Windows
>> - Windows also has a problem with longpaths.
>>
>> Iceberg 0.6 will be integrated to Pharo7 soon :)
>> To update Pharo 6.1, there are instructions in the readme:
>> https://github.com/pharo-vcs/iceberg/blob/master/README.md
>> now, if you wan to migrate your projects to Tonel (from FileTree), here is a
>> script you can use:
>> https://github.com/pharo-vcs/tonel/blob/master/MigrateFromFileTree.md
>>
>> btw, tonel is independent of Iceberg and can be used with plain Monticello
>> (but it is a metadaless format, history will reside on git, not on
>> monticello).
>>
>> cheers,
>> Esteban
>>
>>

12