Smallsource: A bridge between Monticello and “normal” versioning systems


Today is Monticello day here at Joachims Small World, and while we’re at it, let’s just take note of Dale’s work on connecting the Smalltalk world to version control systems the rest of the world is using, like Git, Subversion etc.

The image-based development approach in Smalltalk is one of the most scary differences to “normal programming” that people see. It somehow makes developers nervous to not see the files behind their code. In fact, for most developers on the planet, a program is made up of files much more than of code. Even if IDEs like Eclipse pretty much behave like an image-based system (subtracted the storage of instantiated objects, mostly), the whole process is centered around files.

Dale Henrichs of vmware is working on Smallsource, a system which tries to bridge the gap between git, svn and others and our way of thinking in objects. The first step is to tear classes apart into a tree of files, each representing the class definition or instance or class method. This tree can then be checked in and out of classical version control systems while still providing a way of comparing and merging on a method level rather than while classes. It sounds like a good idea and once the machinery of checking in/out and using the vcs’s diff/merge tools to maintain Smalltalk code could help us be more accessible to other communities. And we could maybe one day give up our proprietary version control systems and concentrate on other things (being an envy fanboy, I can hardly believe it was me who typed this).

Found via Torsten’s Blog