Upgrade from knit to pack fails on revision not present

Bug #261339 reported by Matthew Fuller on 2008-08-26
Affects Status Importance Assigned to Milestone
John A Meinel

Bug Description

I have a knit branch, trying to upgrade to packs with 1.6 or bzr.dev. Check succeeds. Upgrade fails, across several repositories and systems, on
bzr: ERROR: Revision {('<email address hidden>',)} not present in "<bzrlib.knit.KnitVersionedFiles object at 0x89e3fec>".

Log, diff, and other operations succeed on that rev.

Robert to comment.

Related branches

Robert Collins (lifeless) wrote :

Whats happening is that the knit repo has a revision that is in delta format.
So we go to insert the revision to the pack, lookup a delta->ft adapter, and then try to adapt, but the revisions parent text is not available, and so we get an error raised about the parent revision not being present in the pack repo.

Possible fixes;
 - ask for full texts when fetching revisions.
 - ask for toplogical order of revisions eventhough packs don't need that
 - ask for the fullback in the source vf (doesn't play well with networks)

Changed in bzr:
importance: Undecided → Critical
status: New → Confirmed
Matthew Fuller (fullermd) wrote :

This rev would have been created with bzr.dev, up to a few days old at the time. Glancing at the log, bzr.dev:3386 (bug 217701) looks like it might have been a related fix for that delta creation.

(of no real relevance to dealing with the rev and solving the bug, but useful for narrowing down the source)

John A Meinel (jameinel) wrote :

So because revisions were never supposed to have deltas (it was a bug in the *old* pack => knit fetching code, bug 217701) we can just always fetch them as fulltexts.
I'm attaching a patch which should do just that.

John A Meinel (jameinel) wrote :

I'll be trying to get a version of this bugfix into a 1.6.1 release.

Changed in bzr:
assignee: nobody → jameinel
milestone: none → 1.6.1
John A Meinel (jameinel) on 2008-08-29
Changed in bzr:
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers