I have installation of MinGW in D:\mingw. I have Git installation in C:\Program Files\git. I want to develop/compile using MinGW and use git for versioning.
I guess I have to use correct paths but some paths are hardcoded. Like msys mount script calls /bin/msysmnt.exe
So I have 2 options: 1. use git's shell (to be able to show me branch at prompt) 2. use mingw(msys)'s shell - to have correct paths
Whichever I choose I must make the other functionality work under it.
Small update: Since the Git 2.x releases, Git for Windows is based off of MSYS2 and available in 32 and 64 bit binary form. It still is a fork, and not interchangeable with the real MSYS2.
One thing you must understand: msysgit (the git you are using) is a fork of msys with added git functionality. A lot of unix tools are included in the msys shell (for a full list, see the msysgit/bin folder).
It might be possible to add additional msys tools to the msysgit bin folder, but I would not risk my head on that.
In light of this, I think it would be optimal to just add your toolchain to the msysgit path (using the bash profile file or whatever in the msysgit tree) and just use that. If a particular utility is missing, add it from the MinGW-msys tree and hope it works OK.
Alternatively, just use msys-git from cmd.exe. Since recent versions, it works very well (including git show, editing commit messages etc...). To do that, add the /cmd directory to PATH, and you can use all the git commands you want. This is what I do, as msys is a drag, but a necessary evil for git to work on Windows.
UPDATE: detailed instructions to add a directory to PATH under any kind of MSYS:
export PATH=/d/MinGW/bin:$PATH
or hackishly find /etc/profile and change this section
if [ $MSYSTEM == MINGW32 ]; then export PATH=".:/usr/local/bin:/mingw/bin:/bin:$PATH" else export PATH=".:/usr/local/bin:/bin:/mingw/bin:$PATH" fi
to:
if [ $MSYSTEM == MINGW32 ]; then export PATH=".:/usr/local/bin:/d/MinGW/bin:/bin:$PATH" else export PATH=".:/usr/local/bin:/bin:/mingw/bin:$PATH" fi
There is no cleaner way because the msys-git people disabled the fstab functionality present in vanilla msys.
Update from Nick (what I did to make it work):
I created file in C:\Program Files\Git\etc
called bash_profile
. This is the contents of the file:
export PATH=$PATH:/d/mingw/bin:/d/mingw/msys/1.0/bin
make and gcc worked.
The bash_profile
does not come with msysgit so you won't overwrite it if you update.
I put Git on the MinGW shell by opening c:\MinGW\msys\1.0\etc\profile (not in Notepad, there are no carriage returns) and adding:
export PATH=$PATH:/c/Program\ Files\ \(x86\)/Git/bin
On an x86 system this would be:
export PATH=$PATH:/c/Program\ Files/Git/bin
update:
now msys comes with git binary package.
http://sourceforge.net/projects/mingwbuilds/files/external-binary-packages/
old answer:
If you are using latest mingw & portableGit, just drop git.exe(extract the file from portableGitXXX.7z) into C:\MinGW\msys\1.0\bin\
Use msys2. Its msys with a decent package manager (pacman) and build system (makepkg), ported from arch linux. I've got one shell with all my devtools and git and such al