git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH] t: avoid git config syntax from newer releases

From
Todd Zullinger <tmz@pobox.com>
Date
Jul 8, 2025, 21:05 UTC
Message-ID
<20250708210529.1214574-1-tmz@pobox.com>
In-Reply-To
<aG1_eqSpH46UddZJ@teonanacatl.net>

In a recent security release, 05e9cd64ee (config: quote values containing CR character, 2025-05-19) added calls to `git config get`, `git config set`, and `git config unset` which are not present on the maint-2.43 branch.

These subcommands were added in the following commits, released in git-2.46.0:

  4e51389000 (builtin/config: introduce "get" subcommand, 2024-05-06),
  00bbdde141 (builtin/config: introduce "set" subcommand, 2024-05-06),
  95ea69c67b (builtin/config: introduce "unset" subcommand, 2024-05-06)

Revert to the previous `git config` syntax for older maintenance branches.

Signed-off-by: Todd Zullinger <tmz@pobox.com>
---

This is based on maint-2.43. I tested that it merges cleanly to 2.44 and 2.45. I have only run a build with 2.45.4 so far. I pushed this to a github fork, which looks like it will run the CI for each branch:

    https://github.com/tmzullinger/git/actions
 t/t1300-config.sh           | 4 ++--
 t/t7450-bad-git-dotfiles.sh | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/t/t1300-config.sh b/t/t1300-config.sh
index 1010410b7e..baf9b48231 100755
--- a/t/t1300-config.sh
+++ b/t/t1300-config.sh
@@ -2595,8 +2595,8 @@ test_expect_success 'writing value with trailing CR not stripped on read' '
 
 	printf "bar\r\n" >expect &&
 	git init cr-test &&
-	git -C cr-test config set core.foo $(printf "bar\r") &&
-	git -C cr-test config get core.foo >actual &&
+	git -C cr-test config core.foo $(printf "bar\r") &&
+	git -C cr-test config --get core.foo >actual &&
 
 	test_cmp expect actual
 '
diff --git a/t/t7450-bad-git-dotfiles.sh b/t/t7450-bad-git-dotfiles.sh
index 2026285566..d1546e3311 100755
--- a/t/t7450-bad-git-dotfiles.sh
+++ b/t/t7450-bad-git-dotfiles.sh
@@ -362,10 +362,10 @@ test_expect_success SYMLINKS,!WINDOWS,!MINGW 'submodule must not checkout into d
 	git -C repo mv sub $(printf "sub\r") &&
 
 	# Ensure config values containing CR are wrapped in quotes.
-	git config unset -f repo/.gitmodules submodule.sub.path &&
+	git config --unset -f repo/.gitmodules submodule.sub.path &&
 	printf "\tpath = \"sub\r\"\n" >>repo/.gitmodules &&
 
-	git config unset -f repo/.git/modules/sub/config core.worktree &&
+	git config --unset -f repo/.git/modules/sub/config core.worktree &&
 	{
 		printf "[core]\n" &&
 		printf "\tworktree = \"../../../sub\r\"\n"
-- 
2.50.1
Previous: Todd ZullingerNext: Junio C Hamano
Message 3 of 6 in “[ANNOUNCE] Git v2.50.1 and friends”
  1. Junio C HamanoJul 8, 2025
  2. Todd ZullingerJul 8, 2025
  3. t: avoid git config syntax from newer releasesTodd Zullinger, Jul 8, 2025
  4. Junio C HamanoJul 8, 2025
  5. Justin ToblerJul 9, 2025
  6. Todd ZullingerJul 9, 2025

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.