[GSoC Patch 0/2] add unicode support to git repo structure

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]




Currently, `git repo structure` always renders its table output using plain
ASCII characters (`|`, `-`, `*`), regardless of the user's locale. This
series introduces Unicode box-drawing characters (`│`, `├`, `─`, `┼`, `┤`)
and bullet points (`•`) when a UTF-8 locale is detected, providing a cleaner
and more visually distinct hierarchical output on modern terminals while
gracefully falling back to the existing ASCII formatting otherwise.
Summary of changes:
- Patch 1 (gettext: fall back to env-derived charset when unset):
 Fixes an issue where `is_utf8_locale()` would leave `charset` unset (NULL)
 when `git_setup_gettext()` returns early upon missing the locale directory
 (such as in uninstalled development builds). Because `is_encoding_utf8(NULL)`
 defaults to 1, `is_utf8_locale()` would mistakenly report a UTF-8 locale
 even under non-UTF-8 environments like `LC_ALL=C`. This patch enables the
 environment-derived fallback (`LC_ALL`, `LC_CTYPE`, `LANG`) whenever `charset`
 is unset, regardless of `NO_GETTEXT`.
- Patch 2 (repo: add Unicode support for `repo structure` output):
 Updates `builtin/repo.c` (`stats_table_setup_structure()` and
 `stats_table_print_structure()`) to query `is_utf8_locale()` and emit
 Unicode box-drawing borders and bullets when running under a UTF-8 locale,
 falling back to ASCII when not in UTF-8. In `t/t1901-repo-structure.sh`,
 tests follow the established `t/lib-git-svn.sh` convention for discovering
 `GIT_TEST_UTF8_LOCALE` to define a `UTF8_LOCALE` test prerequisite, existing
 tests are pinned to `LC_ALL=C` to reliably test the ASCII fallback path,
 and new tests are added to verify the UTF-8 output rendering (including
 when running with a missing locale directory).
K Jayatheerth (2):
 gettext: fall back to env-derived charset when unset
 repo: add Unicode support for `repo structure` output
 builtin/repo.c | 110 ++++++++++++++++-------------
 gettext.c | 32 +++++----
 t/t1901-repo-structure.sh | 141 +++++++++++++++++++++++++++++++++++++-
 3 files changed, 221 insertions(+), 62 deletions(-)
-- 
2.55.GIT

[Index of Archives] [Linux Kernel Development] [Gcc Help] [IETF Annouce] [DCCP] [Netdev] [Networking] [Security] [V4L] [Bugtraq] [Yosemite] [MIPS Linux] [ARM Linux] [Linux Security] [Linux RAID] [Linux SCSI] [Fedora Users]

(追記) (追記ここまで)
Powered by Linux

AltStyle によって変換されたページ (->オリジナル) /