Incremental Label Families (Versioned Labels)
I sketch here a design to work around
problems identified with labels in the context of
(base) ClearCase.
This will be
implemented in a
perl cleartool wrapper.
We
saw why and how to make a distinction between
fixed and
floating labels.
Floating labels are convenient in that moving them:
- doesn't force to change the others' config specs (both a blessing and a curse)
- involves only few elements (especially if one publishes in-place)
- is compatible with locking and unlocking them, which gives a (local) guarantee of the completion of a labeling (pseudo-) transaction
The major problem with them is that they do not leave a trace of their previous positions.
Why not then maintain a
family of label types, sharing a common
prefix (the name of the
floating type),
and linking the type with this of a
fixed type, which would be applied simultaneously.
As the floating label type would be unlocked, a new
fixed type would be
pushed on top of the previous one,
which it would link to, replacing it in the
floating type definition.
Each of the fixed type would be
incremental, in that it would be applied only to the elements on which the
floating would be moved.
Any position in time of the floating label (usable in a
one line rule) could be later reproduced by an list of rules using the fixed types, in the order of their application,
as recorded in the chain.
The equivalent timestamp would be recorded in the
lock event
(maybe an oversight: there may be valid reasons to unlock the label type, e.g. to create the next instance of the family and to link this one to it, or of course to add info to the comment).
--
MarcGirod - 03 Oct 2007
Edit •
Attach •
Print version •
History: r4 < r3 < r2 < r1 •
Backlinks •
Raw View •
Raw edit •
More topic actions