New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

in 0.3.2 executing git commands using environment variables breaks #207

Closed
electrofelix opened this Issue Nov 17, 2014 · 0 comments

Comments

Projects
None yet
2 participants
@electrofelix
Contributor

electrofelix commented Nov 17, 2014

Recent release 0.3.2 contains a change to set the LC_MESSAGES=C for all git commands to ensure the error messages are consistent across systems. this breaks commands that use the environment to allow users to control behaviour.

To reproduce, clone the GitPython repo, checkout the current 0.3 branch and within execute the following command

PYTHONPATH=. python -c 'import os
import git
test = git.Git(".")
os.environ["GIT_EDITOR"] = "cat"
test.var("GIT_EDITOR")'

Output will be:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "git/cmd.py", line 240, in <lambda>
    return lambda *args, **kwargs: self._call_process(name, *args, **kwargs)
  File "git/cmd.py", line 536, in _call_process
    return self.execute(make_call(), **_kwargs)
  File "git/cmd.py", line 399, in execute
    raise GitCommandError(command, status, stderr_value)
git.exc.GitCommandError: 'git var GIT_EDITOR' returned exit status 128: fatal: Terminal is dumb, but EDITOR unset

This breaks https://github.com/stackforge/git-upstream usage of GitPython.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment