Pharogenesis

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).

Getting Started

To get started you can either use a ready-made one-click image (suggested), or try to load the code yourself.

One-Click Image

  1. Download the Pharogenesis distribution.
  2. Launch the executable of your platform:
    • Mac: Pharogenesis.app
    • Linux: Pharogenesis.app/Pharogenesis.sh
    • Windows: Pharogenesis.app/Pharogenesis.exe

Load the Code

  1. Download a Pharo 1.1.1 one-click image.
  2. Evaluate the following script:
Gofer new
	url: 'http://www.squeaksource.com/GitFS';
	package: 'ConfigurationOfPharogenesis';
	load.
((Smalltalk at: #ConfigurationOfPharogenesis) project version: #stable)
	load: #OBExtension

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 http://github.com/pharogenesis/pharogenesis.git
cd pharogenesis
git checkout -b origin/pharo

Where to find more information

Contact

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

Last changed by admin on 21 April 2009