Subject: [PATCH 00/43] refs lmdb backend

From: David Turner <[email-masked]>
Date: Wed, 2 Sep 2015 21:54:30 -0400

I think I've broken about all of the standalone stuff out, so here's
the main enchilada.

This series depends on at least the following topics in pu:
dt/refs-bisection
dt/refs-pseudo
dt/reflog-tests
kn/for-each-tag (patch 21 and corresponding bits of 42 depend on this;
we could skip them, but I wanted this to apply on top of pu)

As before, I tested by hacking the test suite to run under the lmdb
backend and changing a few dozen tests.  The remaiing failures are
documented in Documentation/technical/refs-be-lmdb.txt, except for one
in t1404 where this version gives a different error message (but still
an error).

As Jeff King suggested last time I sent this around, I've made the
reflog format slightly more efficient.  Now it stores shas in a binary
format, and only uses a header entry if there are no real entries.

Also, now per-worktree refs live in the filesystem.

I've also made a number of fixes to memory leaks, formatting,
factoring, etc.

As Michael Haggerty suggested, I'm now using struct ref_transaction as
a base struct for the ref transaction structs.

Looking forward to reviews.