On 25/07/08 05:05PM, Todd Zullinger wrote: > 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. Thanks for raising this fix! Apologies, it slipped my mind that the config subsommands wouldn't be available on older versions. The changes here look good to me. :) -Justin > > Signed-off-by: Todd Zullinger <tmz@xxxxxxxxx> > --- > > 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