bzr check should verify last-changed fields and per file knit parents.

Bug #121509 reported by Robert Collins
2
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-in-inventories and versions-in-the-knit, then intersect
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://www.robertcollins.net/keys.txt>.

Revision history for this message
John A Meinel (jameinel) wrote :

I thought this was fixed with Andrew and Aaron's recent 'bzr reconcile' fixes.

Changed in bzr:
status: New → Triaged
Changed in bzr:
milestone: none → 1.0rc1
status: Triaged → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.