bzr check should verify last-changed fields and per file knit parents.
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar |
Fix Released
|
Critical
|
Unassigned |
Bug Description
In bzr.dev we have inconsistent data between the inventory and per-file
graphs.
Specifically, in one revision X, which is a merge of 'A' and 'B', a file
which was modified on both sides (presumably to the same content) is
recorded with last-changed of 'A', rather than last-changed of 'X'.
This is a problem, because the revision X in the per-file knits is
apparently referred to to recreate subsequent revisions.
So check should perform some sanity checks. A cheap one to do is:
every file-knit revision referenced from each inventory should be
checked for existence; AND if the revision referenced is not the one
introduced by the revision, there MUST NOT be a file-revision in the
repository with that revision.
that is, per-file-knit referenced, take the set difference of
seen-revisions-
that with seen-revisions - the result must be empty.
Until check catches this we cannot fix push and pull to do partial index
reads of repositories. We may need to bump the repository format or
something as a way to say 'this repository has been checked for this
defect'.
Please follow up to the list only, we only need a single bug filed :)
affects /products/bzr
importance critical
--
GPG key available at: <http://
Changed in bzr: | |
milestone: | none → 1.0rc1 |
status: | Triaged → Fix Released |
I thought this was fixed with Andrew and Aaron's recent 'bzr reconcile' fixes.