bzr check should verify last-changed fields and per file knit parents.
Robert Collins
robertc at robertcollins.net
Thu Jun 21 08:35:30 BST 2007
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>.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20070621/15311fb4/attachment.pgp
More information about the bazaar
mailing list