Git + Stash + Rainbows = Unicorns
Have you ever looked at the revision history for your DVCS repository and tried to remember commit revisions using the hash value for it? Well if you have then you probably know how difficult it can be to differentiate between two commits, or to find a particular commit in a list of commits.
Of course, you usually have information as the author, the time, and the commit message when you are looking. But there is usually nothing to visually aid you to find it.
I rely mostly on the branch graph to quickly read a repository and find what I like. But that is not always possible. For example, Stash does not show the tree when browsing commits. My personal favorite is SourceTree which does an excellent job of viewing a repository as a graph.
But even with graphs, it can still be quite difficult to recognize a commit. I really wanted something graphical to help me out. The plugin architecture of Stash made it possible for me to add some magical sparkles it and the result: Unicorns!
The idea is quite simple. Take the hash of each commit and generate a unique and distinctive unicorns for each one. Why unicorns? Well, every developer loves unicorns. Right? The idea comes from Gravatar, a service to manage a global avatar for each user of the Internet. Gravatar uses a hash of the email address to generate a unique avatar (often called “identicons“) in case the user has not signed up for the service. I figured there is no reason to limit this to avatars and appled it to Git commits.