Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Project overview (starts as email message to Sebastian Sastre)

The project is aimed at making it possible for Smalltalkers to use git/svn/mercurial for project/source version control. There is special emphasis on git and github because github provides distributed repositories and and number of very useful features that enhance the development process.

I started this project when I recently realized that it wasn't as hard to do this as I had thought in the past...

Right now the project is based on Metacello, where I am adding a scripting API to Metacello, like Gofer, but aimed at project level operations not package level operations.

Here's a list of sample Metacello scripting API expressions [1].

Here's the directory structure that I'm proposing to be used for Smalltalk projects[2].

Here's a Sample project on github[3], where you can see what a "real project" would look like. You can clone this project from github and look at it on disk.

Here's the basic assumptions about the project as well[4].

The project is based on Monticello and at the very basic levels involves introducing a few different repository types. There is a 'filtree' repository type, that maps the Monticello package structure onto a disk-based structure, that makes it possible to use git for managing the source code. The code for the 'filetree' is managed on github[5] using the filetree repository structure.

I also move the metacello project source over to github[6]. I've personally been using github to manage the source all of the development I have been doing over the last 4 weeks (you've got to eat your own dogfood), so there are many things that have been working ... I assume that within the next month that I will be looking for volunteers to start using github/git for their own projects to work out kinks...

So things are working, but details are still being worked out, so I don't recommend that anyone start using this stuff right now, because I want to to reserve the right to make radical changes (it's painful for me to make radical changes, since I'm using the system to develop things, but I'd hate to have to coach another developer through the process.

There are a handful of posts and discussions that I have already posted on the Metacello mailing list[7]. If you've got feedback on the project, the Metacello mailing list is the place to send the mail ...

If anyone is interested in actually working on the project itself, I welcome the contribution ... If there is interest, I expect to do the work on github using git. So a basic familiarity with both is useful ... I'm feeling my way through things at this stage in terms of development process for Smalltalk and there are parts of the process that are done from the command line...but if you are willing to learn some git/github and pitch in, let me know .

Dale

[1] https://gist.github.com/1892052 [2] https://gist.github.com/1892052 [3] https://github.com/dalehenrich/sample [4] https://gist.github.com/1893955 [5] https://github.com/dalehenrich/filetree [6] https://github.com/dalehenrich/metacello [7] http://groups.google.com/group/metacello

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment