[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