git/Documentation/config
Jonathan Nieder 2a9dedef2e index: make index.threads=true enable ieot and eoie
If a user explicitly sets

	[index]
		threads = true

to read the index using multiple threads, ensure that index writes
include the offset table by default to make that possible.  This
ensures that the user's intent of turning on threading is respected.

In other words, permit the following configurations:

- index.threads and index.recordOffsetTable unspecified: do not write
  the offset table yet (to avoid alarming the user with "ignoring IEOT
  extension" messages when an older version of Git accesses the
  repository) but do make use of multiple threads to read the index if
  the supporting offset table is present.

  This can also be requested explicitly by setting index.threads=true,
  0, or >1 and index.recordOffsetTable=false.

- index.threads=false or 1: do not write the offset table, and do not
  make use of the offset table.

  One can set index.recordOffsetTable=false as well, to be more
  explicit.

- index.threads=true, 0, or >1 and index.recordOffsetTable unspecified:
  write the offset table and make use of threads at read time.

  This can also be requested by setting index.threads=true, 0, >1, or
  unspecified and index.recordOffsetTable=true.

Fortunately the complication is temporary: once most Git installations
have upgraded to a version with support for the IEOT and EOIE
extensions, we can flip the defaults for index.recordEndOfIndexEntries
and index.recordOffsetTable to true and eliminate the settings.

Helped-by: Ben Peart <benpeart@microsoft.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2018-11-21 16:46:54 +09:00
..
add.txt config.txt: move add.* to a separate file 2018-10-29 10:17:00 +09:00
advice.txt config.txt: move advice.* to a separate file 2018-10-29 10:17:00 +09:00
alias.txt config.txt: move alias.* to a separate file 2018-10-29 10:17:00 +09:00
am.txt config.txt: move am.* to a separate file 2018-10-29 10:17:00 +09:00
apply.txt config.txt: move apply.* to a separate file 2018-10-29 10:17:00 +09:00
blame.txt config.txt: move blame.* to a separate file 2018-10-29 10:17:00 +09:00
branch.txt config.txt: move branch.* to a separate file 2018-10-29 10:17:00 +09:00
browser.txt config.txt: move browser.* to a separate file 2018-10-29 10:17:00 +09:00
checkout.txt config.txt: move checkout.* to a separate file 2018-10-29 10:17:00 +09:00
clean.txt config.txt: move clean.* to a separate file 2018-10-29 10:17:00 +09:00
color.txt config.txt: move color.* to a separate file 2018-10-29 10:17:00 +09:00
column.txt config.txt: move column.* to a separate file 2018-10-29 10:17:00 +09:00
commit.txt config.txt: move commit.* to a separate file 2018-10-29 10:17:00 +09:00
completion.txt config.txt: move completion.* to a separate file 2018-10-29 10:17:01 +09:00
core.txt Merge branch 'js/mingw-perl5lib' 2018-11-13 22:37:20 +09:00
credential.txt config.txt: move credential.* to a separate file 2018-10-29 10:17:01 +09:00
diff.txt Merge branch 'nd/config-split' 2018-11-13 22:37:16 +09:00
difftool.txt config.txt: move difftool.* to a separate file 2018-10-29 10:17:01 +09:00
fastimport.txt config.txt: move fastimport.* to a separate file 2018-10-29 10:17:01 +09:00
fetch.txt config.txt: move fetch-config.txt to config/ 2018-10-29 10:17:01 +09:00
filter.txt config.txt: move filter.* to a separate file 2018-10-29 10:17:01 +09:00
fmt-merge-msg.txt config.txt: move fmt-merge-msg-config.txt to config/ 2018-10-29 10:17:01 +09:00
format.txt config.txt: move format-config.txt to config/ 2018-10-29 10:17:01 +09:00
fsck.txt config.txt: move fsck.* to a separate file 2018-10-29 10:17:01 +09:00
gc.txt config.txt: move gc.* to a separate file 2018-10-29 10:17:01 +09:00
gitcvs.txt config.txt: move gitcvs-config.txt to config/ 2018-10-29 10:17:01 +09:00
gitweb.txt config.txt: move gitweb.* to a separate file 2018-10-29 10:17:01 +09:00
gpg.txt config.txt: move gpg.* to a separate file 2018-10-29 10:17:02 +09:00
grep.txt config.txt: move grep.* to a separate file 2018-10-29 10:17:01 +09:00
gui.txt config.txt: move gui-config.txt to config/ 2018-10-29 10:17:02 +09:00
guitool.txt config.txt: move guitool.* to a separate file 2018-10-29 10:17:02 +09:00
help.txt config.txt: move help.* to a separate file 2018-10-29 10:17:02 +09:00
http.txt config.txt: move http.* to a separate file 2018-10-29 10:17:02 +09:00
i18n.txt config.txt: move i18n.* to a separate file 2018-10-29 10:17:02 +09:00
imap.txt git-imap-send.txt: move imap.* to a separate file 2018-10-29 10:17:02 +09:00
index.txt index: make index.threads=true enable ieot and eoie 2018-11-21 16:46:54 +09:00
init.txt config.txt: move init.* to a separate file 2018-10-29 10:17:02 +09:00
instaweb.txt config.txt: move instaweb.* to a separate file 2018-10-29 10:17:02 +09:00
interactive.txt config.txt: move interactive.* to a separate file 2018-10-29 10:17:02 +09:00
log.txt config.txt: move log.* to a separate file 2018-10-29 10:17:02 +09:00
mailinfo.txt config.txt: move mailinfo.* to a separate file 2018-10-29 10:17:02 +09:00
mailmap.txt config.txt: move mailmap.* to a separate file 2018-10-29 10:17:03 +09:00
man.txt config.txt: move man.* to a separate file 2018-10-29 10:17:03 +09:00
merge.txt Merge branch 'nd/config-split' 2018-11-13 22:37:16 +09:00
mergetool.txt config.txt: move mergetool.* to a separate file 2018-10-29 10:17:03 +09:00
notes.txt config.txt: move notes.* to a separate file 2018-10-29 10:17:03 +09:00
pack.txt config.txt: move pack.* to a separate file 2018-10-29 10:17:03 +09:00
pager.txt config.txt: move pager.* to a separate file 2018-10-29 10:17:03 +09:00
pretty.txt config.txt: move pretty.* to a separate file 2018-10-29 10:17:03 +09:00
protocol.txt config.txt: move protocol.* to a separate file 2018-10-29 10:17:03 +09:00
pull.txt config.txt: move pull-config.txt to config/ 2018-10-29 10:17:03 +09:00
push.txt config.txt: move push-config.txt to config/ 2018-10-29 10:17:03 +09:00
rebase.txt rebase doc: document rebase.useBuiltin 2018-11-16 19:02:54 +09:00
receive.txt config.txt: move receive-config.txt to config/ 2018-10-29 10:17:03 +09:00
remote.txt config.txt: move remote.* to a separate file 2018-10-29 10:17:03 +09:00
remotes.txt config.txt: move remotes.* to a separate file 2018-10-29 10:17:03 +09:00
repack.txt config.txt: move repack.* to a separate file 2018-10-29 10:17:04 +09:00
rerere.txt config.txt: move rerere.* to a separate file 2018-10-29 10:17:04 +09:00
reset.txt config.txt: move reset.* to a separate file 2018-10-29 10:17:04 +09:00
sendemail.txt config.txt: move sendemail-config.txt to config/ 2018-10-29 10:17:04 +09:00
sequencer.txt config.txt: move sequencer.* to a separate file 2018-10-29 10:17:04 +09:00
showbranch.txt config.txt: move showBranch.* to a separate file 2018-10-29 10:17:04 +09:00
splitindex.txt config.txt: move splitIndex.* to a separate file 2018-10-29 10:17:04 +09:00
ssh.txt config.txt: move ssh.* to a separate file 2018-10-29 10:17:02 +09:00
stash.txt config.txt: move stash.* to a separate file 2018-10-29 10:17:04 +09:00
status.txt config.txt: move status.* to a separate file 2018-10-29 10:17:04 +09:00
submodule.txt config.txt: move submodule.* to a separate file 2018-10-29 10:17:04 +09:00
tag.txt config.txt: move tag.* to a separate file 2018-10-29 10:17:04 +09:00
transfer.txt config.txt: move transfer.* to a separate file 2018-10-29 10:17:04 +09:00
uploadarchive.txt config.txt: move uploadarchive.* to a separate file 2018-10-29 10:17:04 +09:00
uploadpack.txt config.txt: move uploadpack.* to a separate file 2018-10-29 10:17:04 +09:00
url.txt config.txt: move url.* to a separate file 2018-10-29 10:17:04 +09:00
user.txt config.txt: move user.* to a separate file 2018-10-29 10:17:05 +09:00
versionsort.txt config.txt: move versionsort.* to a separate file 2018-10-29 10:17:05 +09:00
web.txt config.txt: move web.* to a separate file 2018-10-29 10:17:05 +09:00
worktree.txt config.txt: move worktree.* to a separate file 2018-10-29 10:17:05 +09:00