How do we fix 288751?
Aaron Bentley
aaron at aaronbentley.com
Tue Nov 11 18:56:52 GMT 2008
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
I'm trying to fix 288751. 280595 has the same root cause.
When we autopack, we fail if there are external compression references.
This is in accord with doc/developers/overview.txt, which states:
"Compression deltas don't span physical repository boundaries"
But stacking seems to create branches where there are external
compression references. I have an example here, but it is confidential
code. I do not know the mechanism yet, but it's probably either commit
or fetch.
It appears you added code to support this in revision
robertc at robertcollins.net-20080623001926-8vos9qr0xgbm74wu. The commit
message is "get_record_stream stacking for delta access."
knit.py:1151
if include_delta_closure:
needed_from_fallback = set()
# Build up reconstructable_keys dict. key:True in this dict
means
# the key can be reconstructed.
reconstructable_keys = {}
for key in keys:
# the delta chain
try:
chain = [key, positions[key][2]]
except KeyError:
needed_from_fallback.add(key)
continue
^^^ right here, the KeyError handling is explicitly queueing the
compression parent to be retrieved from a fallback VersionedFiles, ie
fallback repository.
So what do we do about this?
- - Bless the current behavior?
- - Bless the current behavior and teach autopack to fetch external
compression parents?
- - Forbid the current behavior and teach reconcile to fetch external
compression parents?
- - Something else?
Aaron
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iEYEARECAAYFAkkZ1XQACgkQ0F+nu1YWqI3ujACfXyapdMrVkKGVkhkGF5OZTpIf
gukAn1DwxO1Rca4w4joBXa0D5AF5VHnH
=Aet9
-----END PGP SIGNATURE-----
More information about the bazaar
mailing list