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

Re: Bug: Hierarchical Aliases no longer work in 2.54.0

From
René Scharfe <l.s.r@web.de>
Date
Apr 23, 2026, 21:36 UTC
Message-ID
<ea07acab-313d-435d-8328-e601fee980c3@web.de>
In-Reply-To
<PH7PR12MB73313034573C59C73F821BBFE52A2@PH7PR12MB7331.namprd12.prod.outlook.com>
On 4/23/26 8:19 PM, Grossfeld, Michael wrote:
Show 24 quoted lines
> Hello all! Seeing this issue on 2.54.0 and it didn't look like anyone had reported it yet.
> 
>> What did you do before the bug happened? (Steps to reproduce your issue)
> 
> Attempting to use the hierarchical alias "pull.sub", which was working in 2.53.0, is no longer working in 2.54.0.
> It returns the following error: "git: 'pull.sub' is not a git command. See 'git --help'."
> >> What did you expect to happen? (Expected behavior)
> 
> The git alias should have firsted pulled, then updated submodules recursively.
> 
>> What happened instead? (Actual behavior)
> 
> It reports the following error: "git: 'pull.sub' is not a git command. See 'git --help'."
> 
>> What's different between what you expected and what actually happened?
> 
> git 2.53.0 to git 2.54.0.
> 
>> Anything else you want to add:
> 
> The alias was defined in my gitconfig as in 2.53.0, and remains this way:
> 
> [alias "pull"]
>         sub = "!f() { git pull origin --recurse-submodules=no --ff-only; echo Updating Submodules...; git submodule update --recursive --jobs=16 --progress; }; f"

Broken by ac1f12a9de4 (alias: support non-alphanumeric names via subsection syntax, 2026-02-18).

Alias sections were not documented before.  How did you discover them?

I think the previous behavior can be brought back while keeping the new feature, except for aliases that end in ".command".

Show 10 quoted lines
> It was written via this command:
>         git config --global alias.pull.sub '!f() { git pull origin --recurse-submodules=no --ff-only -p; echo Updating Submodules...; git submodule update --recursive --jobs=16; }; f'
> 
> Trying to do the following (with .command):
>         git config --global alias.pull.sub.command '!f() { git pull origin --recurse-submodules=no --ff-only -p; echo Updating Submodules...; git submodule update --recursive --jobs=16; }; f'
> 
> Results in a section of the gitconfig that looks like this:
> 
> [alias "pull.sub"]
>         command = "!f() { git pull origin --recurse-submodules=no --ff-only -p; echo Updating Submodules...; git submodule update --recursive --jobs=16; }; f"
Which works, right?
Show 27 quoted lines
> [System Info]
> git version:
> git version 2.54.0.windows.1
> cpu: x86_64
> built from commit: 2b8a3ab140826ac423c2845ef81d4c6ac4f7bf3c
> sizeof-long: 4
> sizeof-size_t: 8
> shell-path: D:/git-sdk-64-build-installers/usr/bin/sh
> rust: disabled
> feature: fsmonitor--daemon
> gettext: enabled
> libcurl: 8.19.0
> OpenSSL: OpenSSL 3.5.6 7 Apr 2026
> zlib: 1.3.2
> SHA-1: SHA1_DC
> SHA-256: SHA256_BLK
> default-ref-format: files
> default-hash: sha1
> uname: Windows 10.0 26200
> compiler info: gnuc: 15.2
> libc info: no libc information available
> $SHELL (typically, interactive shell): D:\develop\tools\Git\usr\bin\bash.exe
> 
> Thanks for the help!
> 
> Michael Grossfeld
> AMD
Previous: Michael GrossfeldNext: Michael Grossfeld
Message 4 of 18 in “Bug: Hierarchical Aliases no longer work in 2.54.0”
  1. Grossfeld, MichaelApr 23, 2026
  2. Jeff KingApr 23, 2026
  3. Michael GrossfeldApr 23, 2026
  4. René ScharfeApr 23, 2026
  5. Michael GrossfeldApr 23, 2026
  6. Jonatan HolmgrenApr 24, 2026
  7. alias: restore support for simple dotted aliasesJonatan Holmgren, Apr 24, 2026
  8. Kristoffer HaugsbakkApr 24, 2026
  9. Junio C HamanoApr 24, 2026
  10. Jonatan HolmgrenApr 25, 2026
  11. Jeff KingApr 25, 2026
  12. Jeff KingApr 25, 2026
  13. Jonatan HolmgrenApr 26, 2026
  14. Jeff KingApr 26, 2026
  15. Jonatan HolmgrenApr 27, 2026
  16. Junio C HamanoMay 12, 2026
  17. Jeff KingMay 19, 2026
  18. alias: restore support for simple dotted aliasesJonatan Holmgren, Apr 24, 2026

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.