This is basically what's in 'pu' with fixup patches squashed in (also resend is a good way to get people's eyes on it one more time). There's also another minor change that SOMETHING_CHANGED now has value 1. This is the usual value of cache_changed before this series. So if another in-flight series update cache_changed the old way, nothing's subtly broken. Nguyễn Thái Ngọc Duy (32): ewah: fix constness of ewah_read_mmap ewah: delete unused ewah_read_mmap_native declaration sequencer: do not update/refresh index if the lock cannot be held read-cache: new API write_locked_index instead of write_index/write_cache read-cache: relocate and unexport commit_locked_index() read-cache: store in-memory flags in the first 12 bits of ce_flags read-cache: be strict about "changed" in remove_marked_cache_entries() read-cache: be specific what part of the index has changed update-index: be specific what part of the index has changed resolve-undo: be specific what part of the index has changed unpack-trees: be specific what part of the index has changed cache-tree: mark istate->cache_changed on cache tree invalidation cache-tree: mark istate->cache_changed on cache tree update cache-tree: mark istate->cache_changed on prime_cache_tree() entry.c: update cache_changed if refresh_cache is set in checkout_entry() read-cache: save index SHA-1 after reading read-cache: split-index mode read-cache: mark new entries for split index read-cache: save deleted entries in split index read-cache: mark updated entries for split index split-index: the writing part split-index: the reading part split-index: do not invalidate cache-tree at read time split-index: strip pathname of on-disk replaced entries update-index: new options to enable/disable split index mode update-index --split-index: do not split if $GIT_DIR is read only rev-parse: add --shared-index-path to get shared index path read-tree: force split-index mode off on --index-output read-tree: note about dropping split-index mode or index version read-cache: force split index mode with GIT_TEST_SPLIT_INDEX t2104: make sure split index mode is off for the version test t1700: new tests for split-index mode .gitignore | 1 + Documentation/git-rev-parse.txt | 4 + Documentation/git-update-index.txt | 11 ++ Documentation/gitrepository-layout.txt | 4 + Documentation/technical/index-format.txt | 35 ++++ Makefile | 2 + builtin/add.c | 6 +- builtin/apply.c | 17 +- builtin/blame.c | 2 +- builtin/checkout-index.c | 4 +- builtin/checkout.c | 12 +- builtin/clone.c | 7 +- builtin/commit.c | 33 ++-- builtin/merge.c | 12 +- builtin/mv.c | 7 +- builtin/read-tree.c | 18 +- builtin/reset.c | 7 +- builtin/rev-parse.c | 10 + builtin/rm.c | 7 +- builtin/update-index.c | 33 +++- cache-tree.c | 52 ++--- cache-tree.h | 6 +- cache.h | 28 ++- entry.c | 3 + ewah/ewah_io.c | 4 +- ewah/ewok.h | 3 +- lockfile.c | 20 -- merge-recursive.c | 11 +- merge.c | 7 +- read-cache.c | 270 ++++++++++++++++++++++--- rerere.c | 3 +- resolve-undo.c | 2 +- sequencer.c | 16 +- split-index.c (new) | 328 +++++++++++++++++++++++++++++++ split-index.h (new) | 35 ++++ t/t1700-split-index.sh (new +x) | 194 ++++++++++++++++++ t/t2104-update-index-skip-worktree.sh | 2 + test-dump-cache-tree.c | 7 +- test-dump-split-index.c (new) | 34 ++++ test-scrap-cache-tree.c | 5 +- unpack-trees.c | 18 +- 41 files changed, 1088 insertions(+), 192 deletions(-) create mode 100644 split-index.c create mode 100644 split-index.h create mode 100755 t/t1700-split-index.sh create mode 100644 test-dump-split-index.c -- 1.9.1.346.ga2b5940 -- 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