Skip to contentSkip to conversation

config: document and test the 'worktree' scope

PATCH In review Glen Choo via GitGitGadget 2 participants 2 messages Jun 8, 2022 Documentation

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 config: document and test the 'worktree' scope

From: Glen Choo <[email protected]>

Test that "git config --show-scope" shows the "worktree" scope, and add it to the list of scopes in Documentation/git-config.txt.

"git config --help" does not need to be updated because it already mentions "worktree".

---
config: document and test the 'worktree' scope

While I was digging through the docs on config scopes for discovery.bare, I noticed that Documentation/git-config.txt doesn't mention the 'worktree' scope, but the usage string does.

One might assume that since we have CONFIG_SCOPE_WORKTREE, the omission from Documentation/git-config.txt is obviously accidental. But, when we first added "--show-scope" in 145d59f (config: add '--show-scope' to print the scope of a config value, 2020-02-10), we noted that 'submodule' would never be output from "--show-scope", even though CONFIG_SCOPE_SUBMODULE exists.

This patch adds a test that shows "git config -l --show-scope" can indeed output 'worktree', and adds the 'worktree' scope to Documentation/git-config.txt.

This does not conflict with gc/bare-repo-discovery.

Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1274%2Fchooglen%2Fdocument-worktree-scope-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1274/chooglen/document-worktree-scope-v1
Pull-Request: https://github.com/git/git/pull/1274

 Documentation/git-config.txt | 2 +-
 t/t1300-config.sh            | 9 +++++++++
 2 files changed, 10 insertions(+), 1 deletion(-)
Documentation/git-config.txt +1 -1
index bdcfd94b642..9376e39aef2 100644
@@ -248,7 +248,7 @@ Valid `<type>`'s include:
 --show-scope::
 	Similar to `--show-origin` in that it augments the output of
 	all queried config options with the scope of that value
-	(local, global, system, command).
+	(worktree, local, global, system, command).
 
 --get-colorbool <name> [<stdout-is-tty>]::
 
t/t1300-config.sh +9 -0
index 7dd9b325d90..d3d9adbb3db 100755
@@ -2024,8 +2024,17 @@ test_expect_success '--show-scope with --list' '
 	local	user.override=local
 	local	include.path=../include/relative.include
 	local	user.relative=include
+	local	core.repositoryformatversion=1
+	local	extensions.worktreeconfig=true
+	worktree	user.worktree=true
 	command	user.cmdline=true
 	EOF
+	git worktree add wt1 &&
+	# We need these to test for worktree scope, but outside of this
+	# test, this is just noise
+	test_config core.repositoryformatversion 1 &&
+	test_config extensions.worktreeConfig true &&
+	git config --worktree user.worktree true &&
 	git -c user.cmdline=true config --list --show-scope >output &&
 	test_cmp expect output
 '

base-commit: ab336e8f1c8009c8b1aab8deb592148e69217085

Signature · 1 line
gitgitgadget
#1 lore raw
Quoted 8 lines · Glen Choo via GitGitGadget

From: Glen Choo <[email protected]>

Test that "git config --show-scope" shows the "worktree" scope, and add it to the list of scopes in Documentation/git-config.txt.

"git config --help" does not need to be updated because it already mentions "worktree".

Quoted 7 lines

---
config: document and test the 'worktree' scope

While I was digging through the docs on config scopes for discovery.bare, I noticed that Documentation/git-config.txt doesn't mention the 'worktree' scope, but the usage string does.

Excellent.

Thanks, will queue.