Closed
Description
The 3.1.15 release changed at least how git.exc.GitCommandError
Errors are being generated. I have tested with stderr
, but am guessing the same would be true for stdout
. Previously git.exc.GitCommandError.stderr
was a string of the error with bytes decoded, now the error is a string with bytes stringified.
repo.git.rebase Error:
- 3.1.14-stderr =
"\n stderr: 'fatal: invalid upstream 'invalid_branch''"
- 3.1.15-stderr =
'\n stderr: \'b"fatal: invalid upstream \'invalid_branch\'"\''
remote.push Error:
- 3.1.14-stderr =
"\n stderr: 'error: src refspec invalid_branch does not match any\nerror: failed to push some refs to 'git@gitservice.com:project/repo.git''"
- 3.1.15-stderr =
'\n stderr: \'b"error: src refspec invalid_branch does not match any\\nerror: failed to push some refs to \'git@gitservice.com:project/repo.git\'"\''
Steps to reproduce:
import git
exception = git.exc.CommandError(command="git rebase invalid_branch".split(), stderr=b"abc")
exception.stderr
Steps to reproduce from code
import git
path_to_repo = "my_project"
repo = git.Repo(path_to_repo)
local_branch = "invalid_branch"
remote_branch = local_branch
# Generate Error for Rebase
try:
repo.git.rebase(refspec=f"{remote_branch})"
except Exception as err:
print(err.stderr)
# Generate Error for Push
try:
repo.remotes[0].push(f"{local_branch}:{remote_branch}")
except Exception as err:
print(err.stderr)
Metadata
Metadata
Assignees
Labels
No labels