views:

170

answers:

1

I am having trouble determining the difference between msysGit and Git for Windows. How are they different? Why would I choose one over the other?

+5  A: 

Are they not the same thing?

On: http://code.google.com/p/msysgit/ The title is Git for Windows, the application is msysgit.

Even in the event they are not, I expect the only differences will be in the method of compilation (i.e. compiler used and any options set) and any extraneous packaging (such as having a bash emulating shell as in msysgit). The actual product (git itself) should remain broadly similar.


Edit: Thanks to Jarrod for pointing this out. I've left the above in for posterity. To quote the wiki:

msysGit is the development environment to compile Git for Windows. It is complete, in the sense that you just need to install msysGit, and then you can build Git. Without installing any 3rd-party software. msysGit is not Git for Windows; that is an installer which installs Git -- and only Git.

It is easy to see the difference: the installers for Git have the prefix Git-, the msysGit installers have the prefix msysGit-. Another telltale is that the msysGit installers come in two flavors: fullinstall and netinstall. Further, msysGit does not install to C:\Program Files by default. But msysGit comes with gcc, the GNU C Compiler.

So, the difference between the two projects:

  • msysGit is the msys+mingw environment + everything needed to compile git yourself, on Windows.
  • Git for Windows is exactly that: git, compiled for Windows.
Ninefingers
I don't think they are the same thing. If you follow a link in the one you posted, you will find "msysGit is not Git for Windows" on the wiki
Jarrod
@Jarrod I think you are absolutely correct and I've updated my answer.
Ninefingers
Please excuse my ignorance, but why would I want to compile git? If I just wanted to use git for source control on windows, do I need msysGit?
Jarrod
@Jarrod I don't know... because a usual approach would be to install msys or such-like. I expect for whatever reason they found they had to set the environment up in a certain way, so they packaged it.
Ninefingers
@Jarrod Short answer to your question: No. Get Git on Windows.
Ninefingers
@Jarrod: You'd want to compile it yourself if you wanted to use the latest version of git, so you can get all the exciting new features as soon as possible! I do this on linux.
Jefromi
@Jefromi: so that is the only reason I would want MsysGit?
Jarrod
@Jarrod: For you, yes. Other reasons: you want to control how it's compiled for some reason, you want to hack on the source code...
Jefromi