[Pharo-project] GitFS and Pharogenesis

Max Leske maxleske at gmail.com
Mon Apr 11 10:51:06 CEST 2011

Hi folks

I promised a while ago that I would keep you up to date with GitFS and Pharogenesis. Well, now that I've handed in my thesis you can read it if you like:

I also wrote a short How-To on Filesystem (alas, the "old" version) and GitFS:

You can find a summary of important information (loading the code etc.) on this page: http://scg.unibe.ch/research/Pharogenesis

Although I'm sort of "releasing" the code for both now, please note that Pharo has progressed a bit too fast lately for me to keep up. GitFS was built on the original implementation of Filesystem and I will have to put some work into updating the implementation. I'm even thinking of starting over from scratch.
Pharogenesis also depends on the old version of Filesystem. The Metacello configurations load the old Filesystem version into the image, just so you know.

If you don't know what this is all about, here's the abstract of my thesis:

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 (http://www.github. com/pharogenesis/pharogenesis.git).

If you have any questions, feel free to ask.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gforge.inria.fr/pipermail/pharo-project/attachments/20110411/38bff076/attachment.htm>

More information about the Pharo-project mailing list