diff --git a/changelog.d/downloader/3160.misc.rst b/changelog.d/downloader/3160.misc.rst new file mode 100644 index 000000000..1093dc0ee --- /dev/null +++ b/changelog.d/downloader/3160.misc.rst @@ -0,0 +1 @@ +Ensure consistent output from git commands for purpose of parsing. \ No newline at end of file diff --git a/redbot/cogs/downloader/repo_manager.py b/redbot/cogs/downloader/repo_manager.py index 255ca8d67..51a01ae37 100644 --- a/redbot/cogs/downloader/repo_manager.py +++ b/redbot/cogs/downloader/repo_manager.py @@ -513,6 +513,12 @@ class Repo(RepoJSONMixin): """ env = os.environ.copy() env["GIT_TERMINAL_PROMPT"] = "0" + # attempt to force all output to plain ascii english + # some methods that parse output may expect it + # according to gettext manual both variables have to be set: + # https://www.gnu.org/software/gettext/manual/gettext.html#Locale-Environment-Variables + env["LC_ALL"] = "C" + env["LANGUAGE"] = "C" kwargs["env"] = env async with self._repo_lock: p: CompletedProcess = await self._loop.run_in_executor(