glass on github

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

glass on github

Dale Henrichs
You guys may or may not have heard about the work that I've been doing with FileTree[1] and Cypress[2].

The FileTree project is focused on being able to use git and github for storing and managing Smalltalk source code. FileTree is integrated with Monticello so all of the standard mcz operations work with filetree repositories. FileTree is currently ported to GemStone2.4, Pharo1.3 and Squeak2.4

The Cypress project is focused on coming up with a disk-based, cross-dialect package storage format for Smalltalk. Martin Kobetic has taken Travis Griggs' STIG project and converted it[3] to write out VW packages in the Cypress format. Both the FileTree  and Cypress projects are using the same disk format.

You can see some examples[4] of the disk format in the Cypress-Mocks project. There are installation instructions for FileTree here[5].

It is quite exciting (to me at least) to be able to use git and github for managing Smalltalk source code ... I've been using this combination for several months and am very encouraged.

I plan to eventually move all of the GLASS projects to github where I think that all of us will be better able to collaborate on the GLASS software ... I am currently working on Metacello support for git/github as that is a critical component ...

In preparation for the move, I have created the glassdb organization[6] on github where I plan to house the bulk of the source code ...

To kick things off, I've created a glass project[7] where I plan to manage the contents of the standard seaside directory ($GEMSTONE/seaside). Currently there are scripts scattered across the glassdb wiki[8] on google, but there is no single place for folks to go to see what the current state of the directory should be. The directory contents get refreshed with GemStone releases, but the GemStone product release cycle doesn't match the development cycle for the scripts and gemstone support.

Of course, with a project on github, we can all easily contribute to the project, fork our own copy of the project to make our own custom modifications while still being able to merge in changes that come with updates and improvements in the scripts ...

I know for a fact that there is a gap between the code distributed for GLASS and the scripts that are dependent upon that code, with this project I expect that this gap can be CLOSED.

The current version that is up on github is a blind copy of my working seaside directory for 2.4.4.1, so you're not looking at a finished product ...

Right now I'd like to start collaborative work on:

  1. defining the structure of the seaside (glass?) directory.
  2. get the correct versions of the current crop of scripts
     in the right spots
  3. integrate support scripts that other folks find useful and are
     willing to share

I am certain that folks have done things that are worth sharing. I know that there are other gemstone-related projects on github and I will start to fork those projects on the glassdb organization page so that we will have visibility of them ...

If you are interested in helping with the process then I will add you as an owner or collaborator depending upon which level of access/control you'd like. If you simply want to fork the project and issue occasional pull requests, then that is fine as well ...

Github has many features that foster collaboration and I want to start leveraging those features for glass.


[1] https://github.com/dalehenrich/filetree
[2] https://github.com/CampSmalltalk/Cypress
[3] https://github.com/CampSmalltalk/STIG
[4] https://github.com/CampSmalltalk/Cypress-Mocks/tree/master/gemstone/packages/Cypress-Mocks.package
[5] https://github.com/dalehenrich/filetree/blob/master/README.md
[6] https://github.com/glassdb
[7] https://github.com/glassdb/glass
[8] http://code.google.com/p/glassdb/w/list