Will it be also integrated on Pharo 6.1? On Fri, Oct 6, 2017 at 3:10 PM, Esteban Lorenzano <esteba...@gmail.com> wrote:
> > On 6 Oct 2017, at 20:08, Esteban Lorenzano <esteba...@gmail.com> wrote: > > > On 6 Oct 2017, at 20:05, Stephane Ducasse <stepharo.s...@gmail.com> 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 <esteba...@gmail.com> > 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 > > > > >