David Nuescheler wrote:
One additional note:

It would be fine to record the "lineage" of the new version-history
created by the copy, by adding a property to the version-history that
is a reference to the version from which that new version-history was created.
We could call it the "copy-source" property.  This copy-source property would
give folks all the information they need, without violating the change-set
invariant.  Someone that wants to reconstruct the "cross-copy history", could
do so by traversing both predecessor references and copy-source references.  If
we want to doubly link the data structure, we could add a "copy-destination"
reference, that is the inverse of the copy-source reference.


Well, I may be wrong, but this is what I thought subversion does, and what I meant in previous post. It's not that the two nodes after the copy share the same version history but that a node was a different node in a previous version! The copy itself registers a new version in the destination, and the precesessor of that version is the version of the source node at that time, in other words with created a branch. In subversion, a branch is implemented as a copy.

Carlos

Reply via email to