[MERGE] Solve reconciling erroring when multiple portions of a single delta chain are being reinserted.
Robert Collins
robertc at robertcollins.net
Mon Dec 3 06:18:34 GMT 2007
This fixes a bug in reconcile for packs.
This big comment explains it:
# We have to topologically insert all texts otherwise we can fail to
# reconcile when parts of a single delta chain are preserved intact,
# and other parts are not. E.g. Discarded->d1->d2->d3. d1 will be
# reinserted, and if d3 has incorrect parents it will also be
# reinserted. If we insert d3 first, d2 is present (as it was bulk
# copied), so we will try to delta, but d2 is not currently able to be
# extracted because it's basis d1 is not present. Topologically sorting
# addresses this. The following generates a sort for all the texts that
# are being inserted without having to reference the entire text key
# space (we only topo sort the revisions, which is smaller).
However its damn tricky to get a good test for this together, and I've
actually given up doing so. (I tried before I wrote the code).
This code is executed by the test suite, but reverting the patch won't
make tests fail :(.
-Rob
--
GPG key available at: <http://www.robertcollins.net/keys.txt>.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: bzr-mail-LEF81G.patch
Type: text/x-patch
Size: 7145 bytes
Desc: not available
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20071203/f65b50fa/attachment.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20071203/f65b50fa/attachment.pgp
More information about the bazaar
mailing list