The attached patch seems to correct a logic bug. Specifically the variable is "fetch_uses_deltas" but the variable passed is "include_delta_closure". Which actually means "and transmit all history and use full-texts". Which "fetch_uses_deltas" seems to have the opposite meaning.
With the 'not' fix, memory consumption drops to 100MB. (Instead of 700+MB).
However, this only applies to bzr.dev, so it shouldn't actually be a regression in 1.6.
Also, the target repository is still grossly bloated (140MB).
If I change the fetch order for pack_repo to also be "topological" then I get the expected target size of 35MB. I'm not as convinced that is the right fix, but it does make the fetch correct.
Ignas, can you give us the 'bzr --version' you are using?
The attached patch seems to correct a logic bug. Specifically the variable is "fetch_uses_deltas" but the variable passed is "include_ delta_closure" . Which actually means "and transmit all history and use full-texts". Which "fetch_uses_deltas" seems to have the opposite meaning.
With the 'not' fix, memory consumption drops to 100MB. (Instead of 700+MB).
However, this only applies to bzr.dev, so it shouldn't actually be a regression in 1.6.
Also, the target repository is still grossly bloated (140MB).
If I change the fetch order for pack_repo to also be "topological" then I get the expected target size of 35MB. I'm not as convinced that is the right fix, but it does make the fetch correct.
Ignas, can you give us the 'bzr --version' you are using?