Winmerge as Git Difftool on 64bit Windows 7

Every software developer’s day to day tasks includes keeping their software development tools up to date and running smoothly, today I got tired of viewing git differences in the raw and decided to hook winmerge up for viewing diffs.


Instructions for setting winmerge up as your Git difftool can be found here:


I tried to apply these instructions on Windows 7 64bit and had to make 2 changes to get it to work.


Change this command (run in git bash):


git config –global difftool.winmerge.cmd “ \”$LOCAL\” \”$REMOTE\””


to this:


git config –global difftool.winmerge.cmd ‘ “$LOCAL” “$REMOTE”‘


and in, change this line:


“C:/Program Files/WinMerge/WinMergeU.exe” -e -ub “$1” “$2”




“C:\Program Files (x86)/WinMerge/WinMergeU.exe” -e -ub “$1” “$2”


After making these changes differences were shown in winmerge after issuing the difftool command.


Drupal moves Software Revision Control to Git

Our favourite Content Management System – Drupal is moving over from CVS to Git today, meanwhile will be down for 12 hours…


More and more people seem to be completely side-stepping subversion and moving straight to Git, is subversion yesterday’s news?


I do like subversion and think it’s an excellent Software Version Control system, but I do feel that Git may be stealing the march on it…


Any thoughts?

Expect Shell SSH Example

I found this nice example of using the Expect Shell to automate an SSH connection providing username and password:


When automating SSH connections it would be better to have authentication keys setup to avoid the necessity of passing a password to a script, but this is not always possible and in these cases the Expect Shell offers a workaround.


I need this type of automation functionality as I am currently working on automating some Git tasks, so that an application running on the Google App Engine can access Git repositories via a Web API running on a third party system.


Git is gaining more and more popularity as a Software Control system within the Software Development community but it turns out that interacting with it from the Google App Engine is far from trivial – but what’s new! ;-)