[MERGE] Prevent knit corruption by checking parents
Aaron Bentley
aaron.bentley at utoronto.ca
Thu Sep 21 16:24:00 BST 2006
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi all,
The optimized knit join code doesn't provide the same correctness
guarantee that the unoptimized knit codepath provides.
Specifically, if two knits disagree about what the content of a version
is, then a delta from a direct descendant of that version cannot safely
be raw-copied. This usually means that the content of the child in the
target doesn't match the content in the source.
This patch causes a KnitTextsDiffer exception to be raised when knits
disagree about the content of a parent.
I don't believe it is useful to try to handle this problem robustly,
because if two knits disagree about the text of a version, we have a
model violation, which is a serious problem.
This does not attempt to detect format errors in the source knit. And
if either the source or the target is already corrupt, you may still get
a corrupt target.
Aaron
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
iD8DBQFFEq6P0F+nu1YWqI0RAvwMAJ45ARytdeIUwDLEhpWou24+8Oh+EACfeAxl
Q5ifvOFoP2I4eKW9T0TvOFg=
=jJJR
-----END PGP SIGNATURE-----
-------------- next part --------------
A non-text attachment was scrubbed...
Name: check-parents.patch
Type: text/x-patch
Size: 4824 bytes
Desc: not available
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20060921/8e178c05/attachment.bin
More information about the bazaar
mailing list