[PATCH 00/16] LMDB refs backend atop pre-vtable

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]