I rebased this on top of 20fabf9b194c4099d329582c734e433f9f6586a3 (the commit before the previous version of this series). This entailed removing Michael Haggerty's patch to builtin/clone.c, since a patch by Stefan already did approximately the same thing. There was a somewhat hairy merge of "resolve symbolic refs first", but I think the new one is fine (the same tests all pass except for the one TODO noted in the lmdb code). David Turner (17): 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 db refs: add method to rename refs refs: make lock generic refs: move duplicate check to common code refs: allow log-only updates refs: resolve symbolic refs first refs: always handle non-normal refs in files backend init: allow alternate backends to be set for new repos refs: check submodules ref storage config refs: allow ref backend to be set for clone svn: learn ref-storage argument 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 | 6 + Documentation/git-init-db.txt | 2 +- Documentation/git-init.txt | 7 +- Documentation/technical/refs-lmdb-backend.txt | 52 + Documentation/technical/repository-version.txt | 5 + Makefile | 12 + builtin/clone.c | 5 + builtin/init-db.c | 40 +- builtin/submodule--helper.c | 2 +- cache.h | 2 + config.c | 29 + configure.ac | 33 + contrib/workdir/git-new-workdir | 3 + git-submodule.sh | 13 + git-svn.perl | 6 +- path.c | 29 +- refs.c | 451 +++++- refs.h | 17 + refs/files-backend.c | 397 +++-- refs/lmdb-backend.c | 2051 ++++++++++++++++++++++++ refs/refs-internal.h | 128 +- setup.c | 23 +- t/t0001-init.sh | 24 + t/t1460-refs-lmdb-backend.sh | 1109 +++++++++++++ t/t1470-refs-lmdb-backend-reflog.sh | 359 +++++ t/t1480-refs-lmdb-submodule.sh | 85 + t/test-lib.sh | 1 + test-refs-lmdb-backend.c | 64 + transport.c | 7 +- 31 files changed, 4767 insertions(+), 203 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 100755 t/t1480-refs-lmdb-submodule.sh create mode 100644 test-refs-lmdb-backend.c -- 2.4.2.749.g730654d-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