diff --git a/src/repository/api/ArcanistSubversionAPI.php b/src/repository/api/ArcanistSubversionAPI.php --- a/src/repository/api/ArcanistSubversionAPI.php +++ b/src/repository/api/ArcanistSubversionAPI.php @@ -40,6 +40,16 @@ $argv[0] = 'svn '.$argv[0]; $future = newv('ExecFuture', $argv); + + // For historical reasons we run Subversion commands keeping env. + // But, let's keep English, to have a reliable parser. + // https://github.com/apache/subversion/blob/trunk/notes/l10n-problems + // https://www.gnu.org/software/gettext/manual/gettext.html + // https://svnbook.red-bean.com/en/1.7/svn.advanced.l10n.html + // https://superuser.com/a/1779369/390314 + $future->updateEnv('LC_ALL', 'C'); // designed for scripts, override LC_* + $future->updateEnv('LANG', 'C'); // deactivate LANGUAGE, defuse LC defaults + $future->setCWD($this->getPath()); return $future; }