On Mon, Jun 07, 2021 at 10:01:12AM +0900, Junio C Hamano wrote: > Đoàn Trần Công Danh <congdanhqx@xxxxxxxxx> writes: > > > Subject: Re: [PATCH v3] t: use pre-defined utf-8 locale for testing svn > > That certainly is better than "user-specific", but a lot worse than > "user-specified". "pre-defined" leaves it open to question "who > defines it?", and it is a reasonable interpretation that the locale > may be hardcoded in the makefile, but that is not what this patch > does. Saying "user-specified" would not have such a problem. > > >> I kind of wonder if trying "C.UTF-8" would be a reasonable fallback so > >> that people don't even have to set this extra Makefile knob. But I'm not > >> sure if we have a good way of testing if that locale works (if we can't > >> find the "locale" binary). > > > > I also think we should fallback to "C.UTF-8" instead of not testing those > > tests. However, I don't know if there're any systems that not have "C.UTF-8" > > locale. > > I do share the feeling, but have a hunch that systems lacking > "locale -a" may be either superset of, or has at least large overlap > with, those lacking "C.UTF-8", and the new mechanism introduced here > will cover both of them, so I think it is OK to stop here, at least > for now. > > Thanks. I did a little bit of digging, the first (?) usage of locale was probably introduced in the i18n patch to use gettext and msgfmt and stuff: commit 5e9637c629702e3d41ad01d95956d1835d7338e0 Author: Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> Date: Fri Nov 18 00:14:42 2011 +0100 i18n: add infrastructure for translating Git with gettext -------------------------- I can't get rid of the feeling, that most systems have an UTF-8 locale enabled by default these days. What does the following give us under Linux musl ? set | grep UTF MacOs (my box here) has this: LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 LC_CTYPE=UTF-8 XTERM_LOCALE=en_US.UTF-8 If, and only if, Linux musl has a similar setup, then we may be able to skip the Makefile knob for the moment. Just skip locale -a, if locale is not available. This is just a loose idea, I need to install the git-svn bindings and test if the git-svn tests pass.