Open glandium opened 7 years ago
Under MSYS2 always use MSYS make not MINGW make. mingw32-make is designed to run under CMD
I am invoking mingw32-make from cmd. I'm then invoking msys git from mingw32-make, which causes the problem. It actually worked with version 2.8.1, which is what appveyor has on its hosts before installing unrelated packages forced an upgrade of git to 2.12.0...
Well appveyor upgraded to 2.11.1 anyways, and that version fails too, so forcing the upgrade not to happen doesn't work around the problem.
You could try with https://github.com/git-for-windows/git/wiki/Install-inside-MSYS2-proper
@mati865 this works very well for me - why isn't this git client from git-for-windows, the default git client inside msys2 environment ? It appears to support mixed paths, both windows form and unix form.
@iongion I'm not the right person to answer this question.
I'm not sure of the extent of the problem, but here's how I could reliably reproduce it, on a fresh install of msys2:
This fails with the following error:
Running with trace enabled is somewhat enlightening:
Now, the reason the issue subject mentions win32/msys transition is because:
mingw32-make -d
mentions callingCreateProcess(C:\msys64\usr\bin\git.exe, ...)
git clone
command line works around the issue:In that case,
mingw32-make -d
mentions callingCreateProcess(C:\msys64\usr\bin\sh.exe, ...)
because the dummy environment variable forces it to wrap the git command with a shell.Interestingly, I cannot reproduce by just invoking
git clone foo bar
from a cmd shell with the right PATH variables set. It looks like in that case whatever is resolving the path for foo to a full absolute path resolves it to a msys path (/c/...
) rather than a windows path (c:...
) which seems to be what happens whenmingw32-make
executes git.This may or may not be caused by the
git-2.8.2-Cygwin-Allow-DOS-paths.patch
patch, or something related.