-
-
Notifications
You must be signed in to change notification settings - Fork 954
-
I am updating code that was previously Linux-only to support Windows, and my tests are failing on Windows with errors like
ERROR: Cmd('git') failed due to: exit code(128)
cmdline: git clone -v -- ssh://<redacted> C:\Users\stevjorg\AppData\Local\Temp\clitest-qevu7qrx
stderr: 'Cloning into 'C:\Users\stevjorg\AppData\Local\Temp\clitest-qevu7qrx'...
Permission denied, please try again.
Permission denied, please try again.
<redacted>: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
I can successfully execute the same command that is shown for "cmdline:" manually at the Windows command prompt.
The connection uses ssh keys, so no password is used/needed.
Any ideas?
Beta Was this translation helpful? Give feedback.
All reactions
I finally figured out the problem. I was running this through WinPython, and its batch files that set the environment prior to running python.exe assign a value to HOME (that is not the current user's home directory). Apparently, that confuses ssh because when I tweaked my process for starting python.exe in WinPython to clear the HOME variable, that fixed the problem.
...so the problem has nothing to do with GitPython, but others attempting to use GitPython under WinPython will likely encounter the same problem.
My specific fix was to stop using WinPython's scripts/python.bat to run Python and to instead call its scripts/env.bat to set up the environment, then SET HOME=
, then execute if not...
Replies: 2 comments
-
It looks like SSH is refusing to work in the environment that the tests are executed in, hence it can't authenticate and the clone fails.
It might be related to environment variables not being passed through to GitPython, which I'd think doesn't limit the environment of child-processes. However, this is something you could verify in cmd.py
.
Beta Was this translation helpful? Give feedback.
All reactions
-
I finally figured out the problem. I was running this through WinPython, and its batch files that set the environment prior to running python.exe assign a value to HOME (that is not the current user's home directory). Apparently, that confuses ssh because when I tweaked my process for starting python.exe in WinPython to clear the HOME variable, that fixed the problem.
...so the problem has nothing to do with GitPython, but others attempting to use GitPython under WinPython will likely encounter the same problem.
My specific fix was to stop using WinPython's scripts/python.bat to run Python and to instead call its scripts/env.bat to set up the environment, then SET HOME=
, then execute if not "%WINPYWORKDIR%"=="%WINPYWORKDIR1%" cd %WINPYWORKDIR1%
followed by "%WINPYDIR%\python.exe" %*
as scripts/python.bat would do.
Beta Was this translation helpful? Give feedback.
All reactions
-
👍 1