[MERGE][#317654][#334666] Fix push of history with multiple roots

Andrew Bennetts andrew.bennetts at canonical.com
Fri Feb 27 02:25:29 GMT 2009


This patch should fix the recent reports of problems pushing some branches
via a smart server.  The graph code was effectively treating
searcher.stop_searching_any([NULL_REVISION]) as a no-op, and this had the
eventual side-effect that fetch(..., revision_id='foo') was trying to fetch
content for NULL_REVISION, which blows up.

It seems that history with multiple roots, i.e. multiple revisions with no
parent, such as early bzr-svn history, would trigger this case.  My guess is
that this bug has become more visible recently because something was landed
in bzr.dev recently that adds another root (perhaps jelmer's InterBranch
code?), rather than because changes in bzr itself has made the bug easier to
tickle.  So it looks likely that the two bugs in the subject line really are
duplicates.

This patch adds a test that cloning a simple history with two roots works,
which fails without this fix.  I've also manually verified that pushing
bzr-svn r100 into a new repo works, where before it didn't.

-Andrew.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: jam-fix-4056.patch
Type: text/x-diff
Size: 7326 bytes
Desc: not available
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20090227/43093823/attachment.bin 


More information about the bazaar mailing list