Babun: Cygwin done right!

Babun is a preconfigured Cygwin which greatly reduces the pain of working with Windows.

Today I would like to introduce you to a real life saver for people who are force to work on Windows systems. At my current place of work our whole company IT is based on Microsoft products and we use Windows all across the company. Furthermore, we do a lot of application development focusing on Windows clients.

Hence, Windows is the operating system of choice. No matter if I like it or not. In my spare time, I use a Mac and I really appreciate it. It is just the perfect mix of a solid Unix foundation and an awesome GUI. And it just works!

As I work a lot with Linux servers, too, I really like the shell and automate a lot of tedious tasks as well using plain shell scripts.

My favorite shell is Zsh in combination with oh-my-zsh. Unfortunately, on Windows and Windows 7 in special, there is no Unix like command line with Zsh by default.

Continue reading “Babun: Cygwin done right!”

Migrating from Mercurial to Git (Migrating the People)

This is the second part of my “Git migration lessons learned”. In this post I will explain how moved the people from Mercurial to Git.

XKCD: How to work with Git
XKCD 1597 (

This is the second part of my „lessons learned“ from our migration from Mercurial to Git. You can find the first part here.

Beside of the migration of the repositories itself, we kind of needed to migrate the teams also.

At first look, Mercurial and Git seem quite similar: Both are distributed version control systems, both have tags and branches and a lot of concepts are named equally.

Therefore we thought that this part would be easy, but the devil lays in detail, as always.

Continue reading “Migrating from Mercurial to Git (Migrating the People)”

Migrating from Mercurial to Git (The Technical Migration)

All project repositories in our software department were migrated to Git. Here is what I have learned from leading this migration project.

XKCD 1597 (
XKCD 1597 (

During the last year, my team and I migrated over twenty software projects and the teams, that develop them, from Mercurial to Git.

While this seamed like an easy job to me at first, I quickly realized the hidden challenges in this undertaking. In this post I will summarize our reasons, our approach and my experiences gathered in the process of migrating the code base while training the teams on the new git workflow in parallel.

This first part will concentrate on the technical migration while the second part will focus on the trainings.

Continue reading “Migrating from Mercurial to Git (The Technical Migration)”