babun + gitk

When I use git VCS, I simply work in a shell. Even more complicated branching can be resolved using git show-branch  command. But this time I wanted to compare that again with gitk. Since I work on Windows I use babun which is based on Cygwin. And we know that Cygwin can actually launch gitk properly, right? Well, yes – when you configure it.

Babun supports command-line package installing through pact . I know what I want to install so I invoke:

pact install gitk

which installed X11, Tk, Tcl and probably few more things but still doesn’t work, by showing something along these lines:

Application initialization failed: no display name and no $DISPLAY environment variable

We need to invoke this: export DISPLAY=:0.0 . However, gitk still got some problems due to lack of X11:

Application initialization failed: couldn’t connect to display “:0.0”

And that’s obvious! We don’t have render server (X11).

On Cygwin mailing list it can be read that Tk (since some version) needs X11 server for rendering. Install X11, then – I thought at first. From past experience with Linux Gentoo I simply typed this command:

pact install xinit

Installation of multiple packages took a bit long but now gitk launches by:

export DISPLAY=:0.0 && xinit & gitk --all

… which can be further simplified by putting the setting of DISPLAY variable into .profile  or .bash_profile . Then xinit & gitk --all  is enough. BTW, --all  option makes gitk to read all branches (including stashes!)

Proof

This screenshot comes from The Console which is a fresh project of mine which doesn’t include too many branches.

References