This video is a demonstration of Trax, a git inspired object versioning system for squeak. Any object that can be serialized can be stored and versioned in Trax and the lineage of those objects can be browsed in the version history browser. Additionally, I plugged Monticello packages into Trax such that Smalltalk source code can be versioned. I modified the package browser to make it possible to commit packages directly from it and I created an n-way merge tool. Below are some notable points where various topics are discussed. Sorry for the watermark and disorganization...this video was a first cut that was originally intended to just be used in creating a script for a final, more polished presentation. Due to a lack of time and the need to work on another project, I've decided to just publish this raw video in the hopes it might inspire others to pickup the code, reuse it in other projects, or just get a few ideas.
(note: if you actually follow the link to the Vimeo site, the following indexes are clickable and will take you directly to that position in the video) 00:00 - intro
07:00 - discussion of the underlying file structure
26:30 - introduction of the version history browser
36:00 - introduction to the Smalltalk n-way merge tool
38:40 - demo of a 3 way merge
41:00 - demo of committing code from the package browser (and showing the lineage of a 3 way merge in the version history browser)
53:35 - demo of tagging a version
54:00 - demo of publishing to one repo, then replicating to another repo
Trax demo from Stephen Pair on Vimeo. |
Trax >