I'm starting the patchset numbering over from 1 here, because this version of the patchset is a subset of the last version. This version of the patch set applies on top of dt/refs-backend-pre-vtable. This required moving a bunch of stuff that was in refs.h in previous versions into refs/refs-internal.h. Since the last patchset, I added support for symlink HEAD refs, and broke out the initdb stuff into a separate commit. I also rearranged the order of the backend functions to make the vtable easier to read. I removed for_each_reftype_fullpath, which was at one point in next but is not anymore. And I did a bit more code cleanup/rearrangement on the LMDB stuff: I removed memory leaks, improved style, and just generally spruced things up. As usual, the normal tests and the same set of hacked tests pass. I've read over each of these patches a few times, but I've probably still managed to miss things. I look forward to your review. David Turner (13): refs: add do_for_each_per_worktree_ref refs: add methods for reflog refs: add method for initial ref transaction commit refs: add method for delete_refs refs: add methods to init refs backend and db refs: add method to rename refs refs: make lock generic refs: move duplicate check to common code refs: always handle non-normal refs in files backend init: allow alternate backends to be set for new repos refs: allow ref backend to be set for clone refs: add LMDB refs backend refs: tests for lmdb backend Ronnie Sahlberg (3): refs: add a backend method structure with transaction functions refs: add methods for misc ref operations refs: add methods for the ref iterators .gitignore | 1 + Documentation/config.txt | 7 + Documentation/git-clone.txt | 4 + Documentation/git-init-db.txt | 2 +- Documentation/git-init.txt | 7 +- Documentation/technical/refs-lmdb-backend.txt | 50 + Documentation/technical/repository-version.txt | 5 + Makefile | 12 + builtin/clone.c | 27 +- builtin/init-db.c | 35 +- builtin/submodule--helper.c | 5 +- cache.h | 10 + config.c | 34 + configure.ac | 33 + contrib/workdir/git-new-workdir | 3 + environment.c | 1 + path.c | 32 +- refs.c | 406 ++++- refs.h | 17 + refs/files-backend.c | 257 +-- refs/lmdb-backend.c | 2054 ++++++++++++++++++++++++ refs/refs-internal.h | 118 +- setup.c | 32 +- t/t1460-refs-lmdb-backend.sh | 1109 +++++++++++++ t/t1470-refs-lmdb-backend-reflog.sh | 359 +++++ t/test-lib.sh | 1 + test-refs-lmdb-backend.c | 68 + 27 files changed, 4553 insertions(+), 136 deletions(-) create mode 100644 Documentation/technical/refs-lmdb-backend.txt create mode 100644 refs/lmdb-backend.c create mode 100755 t/t1460-refs-lmdb-backend.sh create mode 100755 t/t1470-refs-lmdb-backend-reflog.sh create mode 100644 test-refs-lmdb-backend.c -- 2.4.2.749.g0ed01d8-twtrsrc -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html