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:
http://scg.unibe.ch/archive/projects/Lesk11a.pdf

I also wrote a short How-To on Filesystem (alas, the "old" version) and GitFS:
http://scg.unibe.ch/archive/projects/Lesk11b.pdf

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.

Cheers,
Max

Reply via email to