> On 6 Oct 2017, at 20:05, Stephane Ducasse <[email protected]> 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 <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. > > Stef > > On Fri, Oct 6, 2017 at 7:18 PM, Esteban Lorenzano <[email protected]> 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 >
