]> arthur.barton.de Git - bup.git/commit
cmd-midx: a command for merging multiple .idx files into one.
authorAvery Pennarun <apenwarr@gmail.com>
Mon, 25 Jan 2010 05:52:14 +0000 (00:52 -0500)
committerAvery Pennarun <apenwarr@gmail.com>
Mon, 25 Jan 2010 06:29:00 +0000 (01:29 -0500)
commit4219142067dfe8ef4a80b56e2ff11eb0bf736021
tree3383ba9b6376edf88de9d414b0425c1f77a13162
parent91f610c1af62517850901c19086c23324fea4248
cmd-midx: a command for merging multiple .idx files into one.

This introduces a new "multi-index" index format, as suggested by Lukasz
Kosewski.

.midx files have a variable-bit-width fanout table that's supposedly
optimized to be able to find any sha1 while dirtying only two pages (one for
the fanout table lookup, and one for the final binary search).  Each entry
in the fanout table should correspond to approximately one page's worth of
sha1sums.

Also adds a PackMidx class, which acts just like PackIndex, but for .midx
files.  Not using it for anything yet, though.  The idea is to greatly
reduce memory burn when searching through lots of pack files.
Makefile
cmd-midx.py [new file with mode: 0755]
git.py