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 (http://www.github. com/pharogenesis/pharogenesis.git).
To get started you can either use a ready-made one-click image (suggested), or try to load the code yourself.
Gofer new url: 'http://www.squeaksource.com/GitFS'; package: 'ConfigurationOfPharogenesis'; load. ((Smalltalk at: #ConfigurationOfPharogenesis) project version: #stable) load: #OBExtension
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 http://github.com/pharogenesis/pharogenesis.git cd pharogenesis git checkout -b origin/pharo
The Pharo mailing list is the place to ask any kind of questions related to Pharogenesis.