The Genesis of Pharo: The Complete History of Pharo with Git

Max Leske · 2011

In the Smalltalk dialects Squeak and Pharo it is difficult to view changes to source code that occurred accross major releases. This poses a problem for development as well as for code analysis: Developers often need to be able to revert code to a previous version and for code analysis there should ideally be a single source of information. We solve the problem by building a Git repository with the complete source code history of Pharo. To build the repository we propose two tools: GitFS and Pharogenesis. GitFS is an implementation of Git written entirely in Smalltalk. With GitFS we can create, read and manipulate Git repositories. Pharogenesis uses GitFS to build a Git repository from the source code that Pharogenesis extracts from the source files. We also show how Git can be used to provide a single point of access for all source code from Squeak 1 through Squeak 4 and Pharo 1 using GitFS. The source code database we built with Pharogenesis is available on github

Read the paper · More papers on PaperTik