Version Numbers
Jecel Mattos de Assumpcao Jr.
jecel@lsi.usp.br
Fri, 5 May 1995 22:21:54 -0300
On Thu, 4 May 1995 11:40:43 +0200 rainer@physik3.gwdg.de (Rainer Blome) wrote:
> Again, if we had what we wanted (i.e. an OO system), it'd be trivial:
>
> o Every versioned object (preferrably down to single methods) maintains
> an (RCS-like) version-number of itself.
Ok. This is pretty easy in Self 4.0 - each object can have several
annotations ( not the same thing as Faré means by the term ) and the
version could be one of them.
> o This number changes (like in RCS) when the owner (locker) of that
> object decides to take a snapshot of the current state (i.e. the versions
> of the components).
I am not sure who this owner is in the style of version management that
we are talking about here. Would it be a user or the object which
"contains" the object being snapshotted ( there is a neat word ;-)
> o Branching and creating sets of versions with permutations of
> orthogonal features (versions/snapshots of components) is equivalent to
> cloning and modifying. RCS already allows arbitrary names for
> snapshots, but they should be in addition to numbers.
Cloning and modifying is certainly a way to have several "current versions"
at the same time. Sharing complicates this as the rest of the system
could not try out the new version - it would still point to the original.
> o Since this scheme is object-based, it is just as file-based and
> hierarchichal as the objects are, which is what you'd expect.
Objects aren't a hierarchy like Tunes is. They form a graph with
shared nodes. That is why it is not clear to me how all of this
would work.
> Multi-user access will surely complicate things, but that seems inevitable
> to me.
*That* is the one problem that doesn't worry me. I am pretty satified
with the simple multi-user semantics I have adopted for Merlin ( I think
I have already described this here, but can do it again if there is
interest ).
-- Jecel