Thierry Goubier announced a new version of the  GitFileTree. Here is his announce. It is interesting to have people trying to use git with Pharo. Now we will have to propose an engineered solution that hides the complexity of the command-line juggling to our end-user.

I’m announcing a GitFileTree for Pharo3.0 version with full support for working from github (and probably all other git remote repositories such as bitbucket) without touching any git command line, for Linux and Mac at least (and Windows as soon as someone on windows will write the two or three lines necessary to use the OSWindows extension).

In short, give gitfiletree: a full url to a github project and a few other parameters, and it will do:

  • clone the repo from githubset it up as you asked for (branch and all)
  • create the right local MC repository

and load whatever you want from a configuration or a Gofer script.

Example :
MCFileTreeGitRepository fromZnUrl: (ZnUrl fromString: ‘gitfiletree://’ ).

Creates a MC repository on a git clone of,

on branch pharo3.0
stored in a directory named filetree under the Pharo working directory,
and pointing to the repository/ subdirectory where the filetree packages are kept.

It is possible to add a readOnly parameter to the url: in this case, the git clone is done with a depth of 1 and the repository disable pull and push.

For configurations of a project on github, it becomes possible to ensure a load of ConfigurationOfGitFileTree and then use a gitfiletree url to clone, setup the local repository and load the package, as is done in the latest ConfigurationOfAltBrowser.

For newcomers to git and Pharo interested in github, the process is simply:

  • create a project in github- don’t forget to register your ssh key (see the doc at github)
  • install the configuratonOfGitFileTree in Pharo, either with the ConfigurationBrowser or with:

Gofer new
url: ‘’;
configurationOf: ‘GitFileTree’;

  •  Add a Git remote repository location: the ssh clone URL from github
  • you can then start to create packages and save them into that repository. To propagate changes to github, open the repository and select Push. To update your local copy from github, open the repository and select Pull. If you are a git regular user, you can keep your usual workflow with git and gitfiletree will keep up with you.




Leave a Reply

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: