git-commit-vandalism/Documentation/technical
Nguyễn Thái Ngọc Duy 5fc2fc8fa2 read-cache: split-index mode
This split-index mode is designed to keep write cost proportional to
the number of changes the user has made, not the size of the work
tree. (Read cost is another matter, to be dealt separately.)

This mode stores index info in a pair of $GIT_DIR/index and
$GIT_DIR/sharedindex.<SHA-1>. sharedindex is large and unchanged over
time while "index" is smaller and updated often. Format details are in
index-format.txt, although not everything is implemented in this
patch.

Shared indexes are not automatically removed, because it's unclear if
the shared index is needed by any (even temporary) indexes by just
looking at it. After a while you'll collect stale shared indexes. The
good news is one shared index is useable for long, until
$GIT_DIR/index becomes too big and sluggish that the new shared index
must be created.

The safest way to clean shared indexes is to turn off split index
mode, so shared files are all garbage, delete them all, then turn on
split index mode again.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-06-13 11:49:39 -07:00
..
.gitignore
api-allocation-growing.txt api-allocation-growing.txt: encourage better variable naming 2013-01-06 12:57:56 -08:00
api-argv-array.txt doc: various spelling fixes 2013-04-12 12:00:52 -07:00
api-builtin.txt builtin/help.c: speed up is_git_command() by checking for builtin commands first 2014-01-06 11:26:31 -08:00
api-config.txt Documentation: the name of the system is 'Git', not 'git' 2013-02-01 13:53:33 -08:00
api-credentials.txt doc: various spelling fixes 2013-04-12 12:00:52 -07:00
api-decorate.txt
api-diff.txt diff_opt: track whether flags have been set explicitly 2013-05-10 10:24:17 -07:00
api-directory-listing.txt dir.c: git-status --ignored: don't scan the work tree twice 2013-04-15 12:36:42 -07:00
api-gitattributes.txt Documentation: fix misuses of "nor" 2014-03-31 15:16:22 -07:00
api-grep.txt
api-hashmap.txt hashmap.h: use 'unsigned int' for hash-codes everywhere 2014-02-24 15:26:30 -08:00
api-history-graph.txt graph.c: infinite loop in git whatchanged --graph -m 2012-09-25 11:07:15 -07:00
api-in-core-index.txt
api-index-skel.txt Documentation: avoid poor-man's small caps GIT 2013-02-01 13:53:25 -08:00
api-index.sh
api-lockfile.txt
api-merge.txt docs: fix cross-directory linkgit references 2012-06-08 08:31:52 -07:00
api-object-access.txt
api-parse-options.txt parse-options: remove unused OPT_SET_PTR 2014-03-31 13:01:19 -07:00
api-quote.txt
api-ref-iteration.txt ref-iteration doc: add_submodule_odb() returns 0 for success 2013-12-03 10:40:40 -08:00
api-remote.txt api-remote.txt: correct section "struct refspec" 2013-10-24 13:28:28 -07:00
api-revision-walking.txt many small typofixes 2013-07-29 12:32:25 -07:00
api-run-command.txt run-command: encode signal death as a positive integer 2013-01-06 11:09:18 -08:00
api-setup.txt guard against new pathspec magic in pathspec matching code 2013-07-15 10:56:07 -07:00
api-sha1-array.txt The name of the hash function is "SHA-1", not "SHA1" 2013-04-15 11:08:37 -07:00
api-sigchain.txt Fix typos in the documentation 2011-01-04 11:23:42 -08:00
api-strbuf.txt strbuf: create strbuf_humanise_bytes() to show byte sizes 2013-04-10 12:58:33 -07:00
api-string-list.txt Merge branch 'mh/ceiling' into maint 2013-01-28 11:07:18 -08:00
api-tree-walking.txt unpack_trees: group error messages by type 2010-08-11 10:36:06 -07:00
api-xdiff-interface.txt
bitmap-format.txt pack-bitmap: implement optional name_hash cache 2013-12-30 12:19:23 -08:00
http-protocol.txt Documentation: fix documentation AsciiDoc links for external urls 2014-02-20 14:14:58 -08:00
index-format.txt read-cache: split-index mode 2014-06-13 11:49:39 -07:00
pack-format.txt The name of the hash function is "SHA-1", not "SHA1" 2013-04-15 11:08:37 -07:00
pack-heuristics.txt pack-heuristics.txt: mark up the file header properly 2014-01-13 11:18:34 -08:00
pack-protocol.txt Documentation: fix misuses of "nor" 2014-03-31 15:16:22 -07:00
protocol-capabilities.txt protocol-capabilities.txt: document no-done 2014-02-10 10:21:33 -08:00
protocol-common.txt Documentation: fix misuses of "nor" 2014-03-31 15:16:22 -07:00
racy-git.txt typofix: documentation 2013-07-22 16:06:48 -07:00
send-pack-pipeline.txt Change headline of technical/send-pack-pipeline.txt to not confuse its content with content from git-send-pack.txt 2012-10-16 16:09:09 -07:00
shallow.txt The name of the hash function is "SHA-1", not "SHA1" 2013-04-15 11:08:37 -07:00
trivial-merge.txt Documentation/technical: convert plain text files to asciidoc 2012-10-16 16:09:09 -07:00