From: Jonatan Holmgren Date: Tue, 10 Feb 2026 22:27:42 GMT Subject: [PATCH 0/3] support UTF-8 in alias names Message-ID: <20260210222745.78575-1-jonatan@jontes.page> In-Reply-To: <3124b359-2929-4f3f-9ac6-793277fe422b@jontes.page> Hi all, This v3 addresses all feedback from Junio on v2. Changes since v2: - Split into three commits: a preparatory refactoring, a compatibility- breaking change separated explicitly, and the main feature - Preserved error checking for value-less alias config (config_error_nonbool) - Fixed behavior when !value to preserve adding items to list while keeping util as NULL - Improved commit messages to say "ASCII alphanumeric" and better explain that aliases are implemented as config variable names - Tests now properly verify value-less command key handling The implementation follows Peff's suggestion to use config subsections rather than modifying the config key syntax. This allows arbitrary bytes in alias names while maintaining backward compatibility. Suggested release note blurb: * Git aliases now support UTF-8 characters and special characters in alias names through subsection syntax: `[alias "name"] command = value`. This enables aliases in non-English languages. The traditional syntax (without subsection, e.g., `[alias] co = checkout`) continues to work. Jonatan Holmgren (3): help: use list_aliases() for alias listing alias: prepare for subsection aliases alias: support non-alphanumeric names via subsection syntax Documentation/config/alias.adoc | 43 ++++++++++++++++++----- alias.c | 40 +++++++++++++++++++--- help.c | 39 +++++++++++---------- t/t0014-alias.sh | 60 +++++++++++++++++++++++++++++++++ 4 files changed, 150 insertions(+), 32 deletions(-) -- 2.53.0