Sebastian N.
Sebastian N.

Reputation: 1991

How to get started with git / github support for Monticello?

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:

Upvotes: 14

Views: 746

Answers (3)

Kilon
Kilon

Reputation: 2002

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.

Upvotes: 3

camillobruni
camillobruni

Reputation: 2318

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

Upvotes: 18

Stephan Eggermont
Stephan Eggermont

Reputation: 15907

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

Upvotes: 5

Related Questions