[merge] document the pack format

Robert Collins robertc at robertcollins.net
Wed Oct 24 02:34:20 BST 2007


On Wed, 2007-10-24 at 10:53 +1000, Martin Pool wrote:
> +.tix File texts ``file_id, revision_id`` compression base,
> +                                         per-file parents
> +.six Signatures ``revision_id,``         -
> +.rix Revisions  ``revision_id,``         revision parents
> +.iix Inventory  ``revision_id,``         compression base,
> +                                         revision parents

I would say
+.tix File texts ``file_id, revision_id`` per-file parents,
                                          compression base

As that matches the order in the index, so is less likely to cause
confusion.

> +==== ========== ======================== ==========================
> +
> +Indices are stored as sorted files on disk.  Each line is one record,
> +and contains:

I would reference the bzrlib.index.GraphIndex class here. And then you
can say that each index is one of these. It may be worth having a
separate narrative document for those (though I think there that the
docstring is possibly good enough). Not a big deal either way as long as
there is a pointer of some sort added.

I'd put this:
> +There can also be index entries with a value of 'a' for absent.
> These
> +records exist just to be pointed to in a graph.  This is used, for
> +example, to give the revision-parent pointer when the parent revision
> is
> +in a previous pack.
before the paragraph that describes how the index rows are used, because
this is part of the index layer, but how we use it is not.


....
> +The ``pack-names`` file can be recreated by looking at the packs on
> disk.
> +As well as the list of names, it also contains the size in bytes of
> th`d

This is incorrect; if a writer fails after removing a pack (e.g. because
it has been incorporated into another pack) but after writing the new
pack-names (which it must do before moving packs away), then the pack
names list is *correctly* a subset of the directory contents.


I think the sketched notes can go. It might be worth copying the 'log10
total commits repacks of a given commits data' result into your prose.

Thanks!

bb:tweak
-- 
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/20071024/2ec03bab/attachment.pgp 


More information about the bazaar mailing list