This post originated from an RSS feed registered with Agile Buzz
by Thomas Wheeler.
Original Post: Compiling Git on Cygwin
Feed Title: Random Artifacts
Feed URL: http://randomartifacts.blogspot.com/feeds/posts/default
Feed Description: Generally about agile, software development, and technical tips with occasional forays into other subjects.
First off, if you aren't using Git for your version control needs, you should be. Well alright, that's a little strong -- but if you're still using a non-DVCS (aka centralized) source control system then check it out. Seriously.
Now, on to the main topic of this post. I'm currently doing as much as possible from the Cygwin environment, and so naturally I have installed the Git package and use that instead of the more common (and perfectly usable, BTW) msysGit project. Unfortunately the currently shipping Cygwin version of Git is 1.7.9. That's a few releases old, and it bit me a little when I was Googling to figure out how to set the upstream URL for an existing remote. (The syntax for that command has changed a few times.)
So I thought I'd have a go at compiling the latest sources for Git. It turned out to be quite easy, but if you follow the "recipe" here it might save you a bit of Googling:
Run the Cygwin setup utility and ensure you have the following packages installed:
gcc
make
libiconv
python
perl
gettext
Clone the Git sources with git clone https://github.com/git/git.git. A couple of notes on that with respect to Git configuration:
Make sure core.autocrlf=false, otherwise you'll end up with DOS style line endings that cause the build to break.
I also had a screwy http.sslcainfo property value; either unset it or point it to /usr/ssl/certs/ca-bundle.crt.
From your newly cloned git repo, run the following commands:
make configure ./configure make make install
You should be able to run git --version and see something more recent than 1.7.9. (I had to open a new Cygwin console before this exact command worked, but I could run /usr/local/bin/git.exe --version.)
That's all there is to it (see, I told you it was easy). You're now running the latest version of Git.