Thread (1 message) 1 message, 1 author, 2026-02-10

Re: [PATCH v1] alias: support UTF-8 characters via subsection syntax

From: Junio C Hamano <hidden>
Date: 2026-02-10 16:35:08

Jonatan Holmgren [off-list ref] writes:
quoted hunk
diff --git a/Documentation/RelNotes/2.54.0.adoc b/Documentation/RelNotes/2.54.0.adoc
index 20c660d82a..8cb00a21bb 100644
--- a/Documentation/RelNotes/2.54.0.adoc
+++ b/Documentation/RelNotes/2.54.0.adoc
@@ -7,6 +7,14 @@ UI, Workflows & Features
  * "git add -p" and friends note what the current status of the hunk
    being shown is.
 
+ * Git aliases now support UTF-8 characters in alias names through
+   subsection syntax: `[alias "name"] command = value`. This enables
+   aliases in non-English languages. The flat syntax continues
+   to work for backward compatibility.
+
+ * The new subsection syntax uses case-sensitive matching and
+   the flat syntax remains case-insensitive for backward compatibility.
Thanks for summrizing the topic well.  "The flat syntax" is a new
phrase to us, I think.  Do we have a term to call two-level
configuration variables in contrast to threee-level ones defined in
the glossary?  I've seen phrases like two- and three- level names to
distinguish them in the past, but that is no way "official".

"git config --help" has Syntax section that calls "alias" a
"section", and "foo" a "subsection", and "command" a "variable name"
in "alias.foo.command".  Perhaps "the alias definition without
subsection, e.g., "[alias] co = checkout", continues to work", or
something, perhaps?

In addition to what Peff already mentioned, we would not want the
second bullet point; the fact that the traditional two-level config
is still supported is very much worth mentioning, which is already
done in the previous point.  So all it remains in this bullet point
is that this topic did not change anything in the three-level
configuration case, which is not noteworty.

+# Simple syntax (ASCII names)
+[alias]
+    co = checkout
+    st = status
It is somewhat misleading to call this "ASCII" as it is stricter
than that (e.g., there are '.' and other ASCII characters that you
cannot have in the name).  

    "Limited to alphanumeric and '-' letters (the same limitation as
    configuration variable names), case insensitive"

or something.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help