reconcile doesn't adjust knit index references to otherwise-unreferenced file revisions
Bug #155730 reported by
Martin Pool
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar |
Fix Released
|
Critical
|
Andrew Bennetts |
Bug Description
I have a branch of bzr.dev, and I ran the check command from the current bzr.dev. I believe this is meant to detect cases where reconciliation is needed. It does not detect any problems.
I've previously run reconcile here. Inspection of the repository shows that there are file texts present that are not referenced by their corresponding revision, which is what I thought was supposed to be removed.
This is a problem because if I now upgrade to pack format, the inventory-
Changed in bzr: | |
assignee: | nobody → spiv |
To post a comment you must log in.
The particular case I encountered first is
>>> bad_fileid txt-20050309044 946-f635037a889 c0388'
'join-branches.
>>> bad_revid
'<email address hidden>'
>>>
I think there are several others. All date from around this time, when there was probably a problem in the commit code causing it to make unnecessary file versions.
In the knit post-reconcile, this version is delta compressed relative to
>>> missing_parent
'<email address hidden>'
in that revision (0205c) the file was merged from two identical parents. A new file version was created, but not referenced by the inventory. Reconcile should be removing that version, and adjusting later versions to not depend upon it.