git-commit-vandalism/Documentation/config
Derrick Stolee a6be5e6764 log: add log.excludeDecoration config option
In 'git log', the --decorate-refs-exclude option appends a pattern
to a string_list. This list is used to prevent showing some refs
in the decoration output, or even by --simplify-by-decoration.

Users may want to use their refs space to store utility refs that
should not appear in the decoration output. For example, Scalar [1]
runs a background fetch but places the "new" refs inside the
refs/scalar/hidden/<remote>/* refspace instead of refs/<remote>/*
to avoid updating remote refs when the user is not looking. However,
these "hidden" refs appear during regular 'git log' queries.

A similar idea to use "hidden" refs is under consideration for core
Git [2].

Add the 'log.excludeDecoration' config option so users can exclude
some refs from decorations by default instead of needing to use
--decorate-refs-exclude manually. The config value is multi-valued
much like the command-line option. The documentation is careful to
point out that the config value can be overridden by the
--decorate-refs option, even though --decorate-refs-exclude would
always "win" over --decorate-refs.

Since the 'log.excludeDecoration' takes lower precedence to
--decorate-refs, and --decorate-refs-exclude takes higher
precedence, the struct decoration_filter needed another field.
This led also to new logic in load_ref_decorations() and
ref_filter_match().

There are several tests in t4202-log.sh that test the
--decorate-refs-(include|exclude) options, so these are extended.
Since the expected output is already stored as a file, most tests
could simply replace a "--decorate-refs-exclude" option with an
in-line config setting. Other tests involve the precedence of
the config option compared to command-line options and needed more
modification.

[1] https://github.com/microsoft/scalar
[2] https://lore.kernel.org/git/77b1da5d3063a2404cd750adfe3bb8be9b6c497d.1585946894.git.gitgitgadget@gmail.com/

Helped-by: Junio C Hamano <gister@pobox.com>
Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2020-04-16 11:05:48 -07:00
..
add.txt Start to implement a built-in version of git add --interactive 2019-11-14 11:10:04 +09:00
advice.txt add: change advice config variables used by the add API 2020-02-06 11:08:00 -08:00
alias.txt config/alias.txt: document alias accepting non-command first word 2019-06-06 09:33:42 -07:00
am.txt
apply.txt
blame.txt blame: add config options for the output of ignored or unblamable lines 2019-05-16 11:36:23 +09:00
branch.txt pull --rebase/remote rename: document and honor single-letter abbreviations rebase types 2020-02-10 10:52:10 -08:00
browser.txt
checkout.txt switch: no worktree status unless real branch switch happens 2019-04-02 13:57:00 +09:00
clean.txt config.txt: move clean.* to a separate file 2018-10-29 10:17:00 +09:00
color.txt doc: fix repeated words 2019-08-11 17:40:07 -07:00
column.txt
commit.txt
completion.txt
core.txt fsmonitor: update documentation for hook version and watchman hooks 2020-01-23 15:10:23 -08:00
credential.txt
diff.txt Merge branch 'sg/diff-indent-heuristic-non-experimental' 2019-09-09 12:26:36 -07:00
difftool.txt
fastimport.txt config.txt: move fastimport.* to a separate file 2018-10-29 10:17:01 +09:00
feature.txt config: set pack.useSparse=true by default 2020-03-20 14:22:31 -07:00
fetch.txt Merge branch 'js/fetch-jobs' 2019-10-15 13:48:00 +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 Merge branch 'dl/format-patch-notes-config-fixup' 2019-12-25 11:21:58 -08:00
fsck.txt config/fsck.txt: avoid starting line with dash 2019-03-07 09:25:32 +09:00
gc.txt commit-graph: turn on commit-graph by default 2019-08-13 13:33:55 -07: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 gpg-interface: add minTrustLevel as a configuration option 2020-01-15 14:06:06 -08: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 Merge branch 'js/https-proxy-config' 2020-03-25 13:57:42 -07: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 repo-settings: create feature.manyFiles setting 2019-08-13 13:33:55 -07: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 checkout: split part of it to new command 'restore' 2019-05-07 13:04:47 +09:00
log.txt log: add log.excludeDecoration config option 2020-04-16 11:05:48 -07: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-recursive: switch directory rename detection default 2019-04-08 16:02:08 +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: set pack.useSparse=true by default 2020-03-20 14:22:31 -07: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 fetch: default to protocol version 2 2020-01-15 14:03:55 -08:00
pull.txt pull --rebase/remote rename: document and honor single-letter abbreviations rebase types 2020-02-10 10:52:10 -08:00
push.txt Merge branch 'jk/push-option-doc-markup-fix' 2020-03-02 15:07:18 -08:00
rebase.txt rebase: rename the two primary rebase backends 2020-02-16 15:40:42 -08:00
receive.txt config.txt: move receive-config.txt to config/ 2018-10-29 10:17:03 +09:00
remote.txt remote: add promisor and partial clone config to the doc 2019-06-25 14:05:38 -07:00
remotes.txt config.txt: move remotes.* to a separate file 2018-10-29 10:17:03 +09:00
repack.txt repack: enable bitmaps by default on bare repos 2019-03-18 14:09:54 +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 stash: remove the stash.useBuiltin setting 2020-03-05 12:50:28 -08:00
status.txt status: add status.aheadbehind setting 2019-06-21 09:35:00 -07:00
submodule.txt Doc: explain submodule.alternateErrorStrategy 2019-12-03 08:49:41 -08:00
tag.txt separate tar.* config to its own source file 2020-03-18 12:42:09 -07:00
tar.txt separate tar.* config to its own source file 2020-03-18 12:42:09 -07:00
trace2.txt trace2: discard new traces if target directory has too many files 2019-10-05 17:53:51 +09:00
transfer.txt doc: typo: s/can not/cannot/ and s/is does/does/ 2019-08-05 10:05:24 -07: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 doc: provide guidance on user.name format 2020-01-22 12:27:08 -08: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 doc/config: do a better job of introducing 'worktree.guessRemote' 2018-12-28 13:27:11 -08:00