[squeak-dev] How can simple version control be implemented for binary objects?

Frank Shearar frank.shearar at gmail.com
Wed Feb 1 17:28:06 UTC 2012

Why do you think that Spoon is a version control system?

In particular, I would expect a version control system to be able to
tell me the difference between two arbitrary versions of things. From
my readings of Spoon's literature (and I'm pretty sure I've read all
of it), with the caveat that I might have missed or forgotten
something, I don't think this is something that Spoon can do, or even
_should_ do.

http://netjam.org/spoon/naiad/ for instance does not describe a
version control system. Version _aware_ yes.

More to the point, Spoon won't help with the OP's question, namely,
how to version control _arbitrary binary objects_. And I don't think
_anyone_ knows: git just stores them, but can't tell you much about
the difference between two versions of some object.


On 1 February 2012 17:07, Lawson English <lenglish5 at cox.net> wrote:
> Again, I refer people to the Spoon project.
> Lawson
> On 2/1/12 5:27 AM, David Corking wrote:
>> Although it is not a current area of my personal interest, I want to
>> piggyback on the current discussion about configuration management and
>> version control with this question, as I think the answer may be
>> relevant to future projects, such as rich multimedia applications,
>> rich user interfaces, and active essays.
>> How can simple version control be implemented for binary objects? I am
>> thinking of such things as drawings made with the paint tool, and
>> audio recorded with the sound recorder, as well as compound objects
>> such as texts with embedded images, formatting and hyperlinks: the
>> things that web developers call 'assets'.
>> A reasonable approach seems to be to place an updated image in a
>> file-based version control system, and then use scripts to keep source
>> code up-to-date (from a Monticello repository) and build releases.
>> That requires manual coordination of the assets in a base image.
>> Another might be to export project files (.pr files also known as
>> image segments) into a versioned file system such as a webdav server.
>> Is it easy to use assets in project files? I don't know how difficult
>> it is to programmatically move objects from project worlds into flaps
>> or into other worlds.
>> Does anyone use more fine-grained controls that allow, say, individual
>> morphs or models to be versioned in multi-developer projects? Is
>> Morph's fileOut method suitable?
>> I seem to recall (a year or more ago) that Edgar suggested that such
>> an objective may be achieved by extending the project / image segment
>> system. Does that still seem reasonable and has anyone made progress
>> on that front? Alternatively, is it feasible to extend existing
>> Smalltalk config management tools in this direction? (I think
>> Monticello already handles rich hypertext in source code comments, so
>> could it one day handle more complex objects?)
>> David

More information about the Squeak-dev mailing list