Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Ensure consistent output from git command
The git command output can vary by language which would cause assertions
errors when parsing the output.

On POSIX system the language used by git can be adjusted by LC_MESSAGES.
The special language 'C' is guaranteed to be always available and is
whatever default the software has been written in (usually english, the
case for git).

Thus passing LC_MESSAGES to Popen will ensure we receive from git a
consistent output regardless of the user preference.

Addresses #153
  • Loading branch information
hashar committed Jul 25, 2014
commit 3eb7265c532e99e8e434e31f910b05c055ae4369
4 changes: 4 additions & 0 deletions git/cmd.py
Original file line number Diff line number Diff line change
Expand Up @@ -316,6 +316,9 @@ def execute(self, command,
if ouput_stream is True, the stdout value will be your output stream:
* output_stream if extended_output = False
* tuple(int(status), output_stream, str(stderr)) if extended_output = True

Note git is executed with LC_MESSAGES="C" to ensure consitent
output regardless of system language.

:raise GitCommandError:

Expand All @@ -333,6 +336,7 @@ def execute(self, command,

# Start the process
proc = Popen(command,
env={"LC_MESSAGES": "C"},
cwd=cwd,
stdin=istream,
stderr=PIPE,
Expand Down