14

I've read recently that git / github support has been added to Monticello.

I have also seen some Smalltalk projects published in github. Like:

https://github.com/timfel/ratpack

My questions:

  • How to get started?
  • What do I need to install in order to load/save projects from/to github?
Sebastian N.
  • 1,962
  • 15
  • 26

3 Answers3

18
  • FileTree a monticello based implementation for the Cypress package format
  • FS-Git a git implementation for FileSystem (with experimental support for Monticello versioning)
  • Gitocello is another Monticello/Export interaction tool

Except for FS-Git (which is in experimental mode) all these tools require a slightly different workflow than Monticello. FileTree and Gitocello "just" export the Smalltalk sources with additional meta-data to files. You then still have to go to the command-line and commit; push these changes.

camillobruni
  • 2,298
  • 16
  • 26
5

You might want to take a look at the presentation Dale Henrichs did at Esug. Most information you'll need is on the different mailing lists (Pharo-dev, Metacello), and specific questions are better served there

Stephan Eggermont
  • 15,847
  • 1
  • 38
  • 65
3

Using github for pharo code is actually pretty straightforward doing it manually

To git commit and push :

  • Open system browser
  • Right click the package you want to commit and select "file out"
  • go to your pharo folder and copy the relevant files to your git folder (usually they take the name of the package and .st as extension)
  • commit those files as you do for all your github commits, nothing special.

To git pull :

This is even simpler. Go to github page and click "download" , it will download the zip file containing all the latest st files. You can take those files and drag and drop them to the pharo environment and pharo will file them in. For your convenience you may want to git clone the repo so you can do a simple git pull to fetch the latest sources. This way you avoid the uncompression step but its the same thing.

Obviously that could be automated but I am ok doing it manually for now since I dont consider it much work. But I may make a tool to automate this.

As far I know the only relevant tool is this one but I have not tried it

https://github.com/timfel/gitocello

The only thing you need for my approach is pharo and git installed in your system. Learning git is actually very easy , I generally use only "git clone" "git add" "git rm" "git commit" "git push" and "git pull" commands.

Kilon
  • 1,962
  • 3
  • 16
  • 23
  • 2
    https://github.com/dalehenrich/filetree is much nicer in that matter, it stores additional meta data to reconstruct a complete Monticello version history. Plus with files on the method level it is much easier to track changes with existing git tools. – camillobruni Dec 03 '12 at 12:33
  • Thank you, I'll try it out. Right now I am more insterested in loading packages hosted in github. But whenever I need to write my own, I might try this approach. – Sebastian N. Dec 03 '12 at 12:36
  • thanks dh82 sound very interesting will give it a try. SenTalker I updated my answer to show you how to load packages hosted in github. If you need further explanation I can add more info but I think its just a matter of reading git documentation. – Kilon Dec 03 '12 at 12:56