
I unashamedly stole this from Alexander Groß’s post on getting DiffMerge running on Cygwin-based Git (with slight modifications, any faults are mine :)). # Passing the following parameters to mergetool: This file ended up looking like this: #!/bin/sh Again I ended up using the wrapper approach, creating git-merge-diffmerge-wrapper.sh at C:\Program Files\Git\cmd to call DiffMerge. I had more trouble getting a merge tool working, largely because putting references to paths like C:/Program Files/. We can now use git diff and it will fire up our diff tool of choice. You’ll need to have the following section in there: Įxternal = C:/Program Files/git/cmd/git-diff-wrapper.sh In your home directory ( C:\Users\(username) or the corresponding Documents and Settings equivalent) Git will normally have created a. The next step is telling Git about your wrapper. I ended up settling on DiffMerge because it is purdy (unlike KDiff3 – sorry), and also does 3-way merges (unlike WinMerge, which was my previous diff tool of choice). You’ll also see I’ve commented out calls to WinMerge and KDiff3, which are both free as in beer and speech. In this case I’ve used it to setup a call to Sourcefear’s DiffMerge, a nice free (as in beer) diff and merge tool. Provided your diff tool can be called from the command line, you’ll be able to set it up to work with Git using this template. The basic format of this is stolen directly from this post on the Msysgit site. #"C:/Program Files/WinMerge/WinMergeU.exe" "$2" "$5" | cat "C:/Program Files/SourceGear/DiffMerge/DiffMerge.exe" "$2" "$5" | cat

# path old-file old-hex old-mode new-file new-hex new-mode # diff is called by git with 7 parameters:


The file contents looks like this: #!/bin/sh

To make things easy on me I put the script, git-diff-wrapper.sh in C:\Program Files\Git\cmd, which is in my Path environment variable. The easiest way I found to do this was to create a shell script wrapper for your diff tool of choice. I had to switch to using git difftool instead. I am studying about Gibbs distribution concept and I am confusing a one term in that concept that is normalization term.Update : This approach stopped working for me when I upgraded to Windows 7 and Git 1.6.3. User3051460 Asks: What does it means of Normalization term of Gibbs distribution?
