]> Kevux Git Server - rit/commit
alias: treat empty subsection [alias ""] as plain [alias]
authorJonatan Holmgren <jonatan@jontes.page>
Thu, 26 Feb 2026 20:53:27 +0000 (21:53 +0100)
committerJunio C Hamano <gitster@pobox.com>
Thu, 26 Feb 2026 21:06:49 +0000 (13:06 -0800)
commit65892943750b0c66017389f0233ba5a6a7205165
tree5cbcc313cbc2e27c0a9feee6fc25810da013a936
parent2e3a987f3b968573e499bb353734430df39a64a5
alias: treat empty subsection [alias ""] as plain [alias]

When git-config stores a key of the form alias..name, it records
it under an empty subsection ([alias ""]). The new subsection-aware
alias lookup would see a non-NULL but zero-length subsection and
fall into the subsection code path, where it required a "command"
key and thus silently ignored the entry.

Normalize an empty subsection to NULL before any further processing
so that entries stored this way continue to work as plain
case-insensitive aliases, matching the pre-subsection behaviour.

Users who relied on alias..name to create an alias literally named
".name" may want to migrate to subsection syntax, which looks less confusing:

    [alias ".name"]
        command = <value>

Add tests covering both the empty-subsection compatibility case and
the leading-dot alias via the new syntax.

Signed-off-by: Jonatan Holmgren <jonatan@jontes.page>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
alias.c
t/t0014-alias.sh