On Tuesday, June 6, 2000, at 07:56 PM, Jonathan S. Shapiro wrote:
> I definitely wasn't clear.
>
> Entities certainly cannot know the future, and therefore should not have
> pointers into the future. They certainly should know their predecessors.
>
> The question is whether the entity metadata should include the name and
> sequence number of the branch version in which the particular entity was
> created.
>
> >From a purist perspective, my inclination is that the answer should be "no".
> An entity should be pointed *to* by it's originating branch version, but
> should not point back to that version.
>
> Unfortunately, this creates problems for diagnostics.
>
> Is my original question now more clear?
So, a "version", or if you will, a "Checkpoint" (to use TeamNet terminology) is able to answer the question "what are the contents of file 'foo' as of your timestamp, in your development sequence."
One thing that I think should be emphasised, should be the ease of remembering versions. In TeamNet, I could trivially freeze a version at any time, and all subsequent editing of my work area would then take place in the new "open" checkpoint.
So, I might actually freeze a version every time through my edit-compile-debug cycle during a day, and then periodically coalesce the five or ten versions I'd made into a single one for the day. (Some guys at TeamOne actually stuck a line in their makefiles to do this every time they built their projects.) This was a very quick operation, since it never involved actually copying any files from my workarea into the baseline (which was really just another workarea.)
-jcr
[objC retain];