git/Documentation/config
Patrick Steinhardt bc39b6a796 refs/reftable: introduce "reftable.lockTimeout"
When multiple concurrent processes try to update references in a
repository they may try to lock the same lockfiles. This can happen even
when the updates are non-conflicting and can both be applied, so it
doesn't always make sense to abort the transaction immediately. Both the
"loose" and "packed" backends thus have a grace period that they wait
for the lock to be released that can be controlled via the config values
"core.filesRefLockTimeout" and "core.packedRefsTimeout", respectively.

The reftable backend doesn't have such a setting yet and instead fails
immediately when it sees such a lock. But the exact same concepts apply
here as they do apply to the other backends.

Introduce a new "reftable.lockTimeout" config that controls how long we
may wait for a "tables.list" lock to be released. The default value of
this config is 100ms, which is the same default as we have it for the
"loose" backend.

Note that even though we also lock individual tables, this config really
only applies to the "tables.list" file. This is because individual
tables are only ever locked when we already hold the "tables.list" lock
during compaction. When we observe such a lock we in fact do not want to
compact the table at all because it is already in the process of being
compacted by a concurrent process. So applying the same timeout here
would not make any sense and only delay progress.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2024-09-24 09:45:25 -07:00
..
add.txt add-i: finally retire add.interactive.useBuiltin 2024-06-05 14:53:26 -07:00
advice.txt advice: recommend GIT_ADVICE=0 for tools 2024-09-06 14:15:16 -07:00
alias.txt Documentation: alias: add notes on shell expansion 2024-05-31 15:47:55 -07:00
am.txt
apply.txt documentation: whitespace is already generally plural 2023-10-09 12:06:29 -07:00
attr.txt attr.tree: HEAD:.gitattributes is no longer the default in a bare repo 2024-06-05 14:52:53 -07:00
bitmap-pseudo-merge.txt pseudo-merge: implement support for selecting pseudo-merge commits 2024-05-24 11:40:42 -07:00
blame.txt
branch.txt documentation: use clearer prepositions 2023-10-09 12:06:29 -07:00
browser.txt
bundle.txt bundle-uri: parse bundle.heuristic=creationToken 2023-01-31 08:57:48 -08:00
checkout.txt documentation: fix capitalization 2023-10-09 12:06:29 -07:00
clean.txt clean: further clean-up of implementation around "--force" 2024-03-04 14:05:13 -08:00
clone.txt doc: git-clone: do not autoreference the manpage in itself 2024-03-29 10:57:41 -07:00
color.txt documentation: add some commas where they are helpful 2023-10-09 12:06:44 -07:00
column.txt documentation: fix singular vs. plural 2023-10-09 12:06:29 -07:00
commit.txt documentation: add missing article 2023-10-09 12:06:29 -07:00
commitgraph.txt commit-graph: new Bloom filter version that fixes murmur3 2024-06-25 13:52:06 -07:00
completion.txt
core.txt Merge branch 'tb/doc-max-tree-depth-fix' 2024-07-18 08:30:26 -07:00
credential.txt documentation: add some commas where they are helpful 2023-10-09 12:06:44 -07:00
diff.txt diff: let external diffs report that changes are uninteresting 2024-06-10 09:20:46 -07:00
difftool.txt mergetool: new config guiDefault supports auto-toggling gui by DISPLAY 2023-04-05 21:03:29 -07:00
extensions.txt Merge branch 'eb/hash-transition' 2024-03-28 14:13:50 -07:00
fastimport.txt documentation: add some commas where they are helpful 2023-10-09 12:06:44 -07:00
feature.txt pack-objects: enable multi-pack reuse via `feature.experimental` 2024-02-05 15:27:01 -08:00
fetch.txt fetch: add new config option fetch.all 2024-01-08 13:36:23 -08:00
filter.txt
fmt-merge-msg.txt
format.txt Merge branch 'jc/doc-misspelt-refs-fix' into maint-2.43 2024-02-08 16:22:08 -08:00
fsck.txt documentation: add some commas where they are helpful 2023-10-09 12:06:44 -07:00
fsmonitor--daemon.txt documentation: wording improvements 2023-10-09 12:04:21 -07:00
gc.txt run-command: fix detaching when running auto maintenance 2024-08-16 09:46:26 -07:00
gitcvs.txt
gitweb.txt
gpg.txt documentation: fix subject/verb agreement 2023-10-09 12:06:29 -07:00
grep.txt grep docs: describe --recurse-submodules further and improve formatting a bit 2024-03-25 14:00:03 -07:00
gui.txt documentation: add missing article 2023-10-09 12:06:29 -07:00
guitool.txt
help.txt
http.txt http: do not ignore proxy path 2024-08-02 08:30:08 -07:00
i18n.txt documentation: use clearer prepositions 2023-10-09 12:06:29 -07:00
imap.txt documentation: fix verb vs. noun 2023-10-09 12:06:29 -07:00
includeif.txt config.txt: document include, includeIf 2022-07-17 14:23:42 -07:00
index.txt documentation: fix apostrophe usage 2023-10-09 12:06:29 -07:00
init.txt setup: make ref storage format configurable via config 2024-08-16 09:55:22 -07:00
instaweb.txt
interactive.txt doc: interactive.singleKey is disabled by default 2024-06-07 15:27:41 -07:00
log.txt documentation: add some commas where they are helpful 2023-10-09 12:06:44 -07:00
lsrefs.txt docs: move protocol-related docs to man section 5 2022-08-04 14:12:23 -07:00
mailinfo.txt documentation: fix singular vs. plural 2023-10-09 12:06:29 -07:00
mailmap.txt
maintenance.txt run-command: fix detaching when running auto maintenance 2024-08-16 09:46:26 -07:00
man.txt documentation: add missing article 2023-10-09 12:06:29 -07:00
merge.txt documentation: add some commas where they are helpful 2023-10-09 12:06:44 -07:00
mergetool.txt mergetools: vimdiff: use correct tool's name when reading mergetool config 2024-02-19 08:45:14 -08:00
notes.txt documentation: add missing article 2023-10-09 12:06:29 -07:00
pack.txt Documentation/config/pack.txt: fix broken AsciiDoc mark-up 2024-02-23 13:47:16 -08:00
pager.txt
pretty.txt
promisor.txt promisor-remote: add promisor.quiet configuration option 2024-05-26 09:17:08 -07:00
protocol.txt Sync with 2.37.4 2022-10-06 20:00:04 -04:00
pull.txt
push.txt documentation: add some commas where they are helpful 2023-10-09 12:06:44 -07:00
rebase.txt Merge branch 'ms/rebase-insnformat-doc-fix' into maint-2.43 2024-02-08 16:22:12 -08:00
receive.txt builtin/receive-pack: convert to use git-maintenance(1) 2024-04-17 08:42:26 -07:00
reftable.txt refs/reftable: introduce "reftable.lockTimeout" 2024-09-24 09:45:25 -07:00
remote.txt doc: remote.*.skip{DefaultUpdate,FetchAll} stops prefetch 2024-09-09 10:06:13 -07:00
remotes.txt
repack.txt builtin/repack.c: allow configuring cruft pack generation 2022-05-26 15:48:26 -07:00
rerere.txt documentation: fix singular vs. plural 2023-10-09 12:06:29 -07:00
revert.txt revert: config documentation fixes 2022-06-27 08:37:36 -07:00
safe.txt safe.directory: allow "lead/ing/path/*" match 2024-05-29 12:06:27 -07:00
sendemail.txt documentation: send-email: use camel case consistently 2024-02-20 14:37:44 -08:00
sequencer.txt documentation: add some commas where they are helpful 2023-10-09 12:06:44 -07:00
showbranch.txt
sparse.txt
splitindex.txt documentation: add some commas where they are helpful 2023-10-09 12:06:44 -07:00
ssh.txt
stash.txt documentation: add missing article 2023-10-09 12:06:29 -07:00
status.txt status: allow --untracked=false and friends 2024-03-13 10:43:32 -07:00
submodule.txt documentation: fix apostrophe usage 2023-10-09 12:06:29 -07:00
tag.txt
tar.txt
trace2.txt documentation: wording improvements 2023-10-09 12:04:21 -07:00
transfer.txt upload-pack: disallow object-info capability by default 2024-02-28 14:42:01 -08:00
uploadarchive.txt
uploadpack.txt Documentation: define protected configuration 2022-07-14 15:08:29 -07:00
url.txt
user.txt documentation: add some commas where they are helpful 2023-10-09 12:06:44 -07:00
versionsort.txt documentation: add some commas where they are helpful 2023-10-09 12:06:44 -07:00
web.txt
worktree.txt