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.

The tool we use to create the Git repository is called Pharogenesis. Pharogenesis uses a Smalltalk implementation of Git called GitFS to build a Git repository from the source code.

The source code database we built with Pharogenesis is available on github (

Getting Started

Load the Code

Load the Pharogenesis repository

To browse method versions in Pharogenesis you need to clone the prepared repository from github. Run the following commands on the command line:

cd <path to image or one-click application>
git clone
cd pharogenesis
git checkout -b origin/pharo

Where to find more information


The Pharo mailing list is the place to ask any kind of questions related to Pharogenesis.