Merge lp:~spiv/bzr/hpss-cross-format-fetch-bug-427736 into lp:bzr/2.0
Proposed by
Andrew Bennetts
Status: | Merged |
---|---|
Merged at revision: | not available |
Proposed branch: | lp:~spiv/bzr/hpss-cross-format-fetch-bug-427736 |
Merge into: | lp:bzr/2.0 |
Diff against target: |
86 lines 3 files modified
NEWS (+4/-0) bzrlib/remote.py (+3/-2) bzrlib/tests/per_interrepository/test_fetch.py (+38/-0) |
To merge this branch: | bzr merge lp:~spiv/bzr/hpss-cross-format-fetch-bug-427736 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Robert Collins (community) | Approve | ||
Review via email: mp+12771@code.launchpad.net |
To post a comment you must log in.
This fixes "unknown object type identifier 60" in bencode when pulling some branches.
It turns out that the client-side RemoteStreamSource was using the wrong serialiser to decode revision fulltexts in a stream of a stacked branch (it decodes them to extract the parent_ids so that it knows if there are any missing revisions that it needs to ask the next fallback for). Using the wrong serialiser doesn't matter if the revision serialiser is the same on both sides, and similarly this code doesn't get involved when there is no stacking. So this was just obscure enough a case that the test suite wasn't exercising it.
The fix is a one-liner, and I've added interrepo tests for this case.