Start with an empty file, f0.  Apply some initial content, delta1.

f0 + delta1 = f1

It occurs to me that if I now apply a change, delta2, to this file, (tree, subtree, repository, whatever):

f1 + delta2 = f2

And then I back out that change by applying the inverse delta2, delta2', then:

f2 + delta2' = f3 = f1.

Since the hash for f3 and f1 will be identical, we can no longer talk meaningfully about a linear sequence of revisions. That is, revision id = SHA1(f3) = SHA1(f1) no longer has a single ancestor nor is there necessarily even a deterministic path from f3 back to the empty file. f3 and f1 are different not in content, but only in ancestry.

Is this history really lost in monotone?  Or how is this handled?

--rich


_______________________________________________ Monotone-devel mailing list Monotone-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/monotone-devel

Reply via email to