mirror of
https://github.com/git/git.git
synced 2026-04-07 15:30:09 +02:00
branch -v: align even when branch names are in UTF-8
Branch names are usually in ASCII so they are not the problem. The problem most likely comes from "(no branch)" translation, which is in UTF-8 and makes display-width calculation just wrong. Clarify this by renaming the field "len" in struct ref_item to "width", as it stores the display-width and is used to compute the width of the screen needed to show the names of all the branches, and compute the display width using utf8_strwidth(), not byte-length with strlen(). Update document to mention the fact that we may want ref names in UTF-8. Encodings that produce invalid UTF-8 are safe as utf8_strwidth() falls back to strlen(). The ones that incidentally produce valid UTF-8 sequences will cause misalignment. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
b52183179b
commit
1452bd64f1
@@ -55,6 +55,8 @@ when you run `git cherry-pick`.
|
||||
+
|
||||
Note that any of the 'refs/*' cases above may come either from
|
||||
the '$GIT_DIR/refs' directory or from the '$GIT_DIR/packed-refs' file.
|
||||
While the ref name encoding is unspecified, UTF-8 is prefered as
|
||||
some output processing may assume ref names in UTF-8.
|
||||
|
||||
'<refname>@\{<date>\}', e.g. 'master@\{yesterday\}', 'HEAD@\{5 minutes ago\}'::
|
||||
A ref followed by the suffix '@' with a date specification
|
||||
|
||||
Reference in New Issue
Block a user