Developers make up the largest segment of Kaleidoscope customers. Many of you use the Git version control system to manage your source code, regardless of the programming language you may be using.
The Kaleidoscope team also uses Git, and today we want to tell you about an app that most of us use on a daily basis.
Tower: the easy, powerful, productive Git client
While there are quite a few good apps that work with Git, we keep coming back to Tower. There’s just a lot to like. It’s a proper native app that always feels right on macOS, something we highly value. Tower includes all the features you would expect when working with Git and more, yet the app doesn’t feel complicated or bloated with features. Everything is well organized and its basic features are discoverable. Our list of reasons to use Tower doesn’t end with the app itself. The Tower support team is outstanding, and the app has a fair business model, which ensures that the company can do a good job maintaining and evolving the product for us, the users.
You can see a rundown of features of Tower by visiting the excellent features pages on the Tower website. While you are there, don’t miss out on many helpful blog posts, including a recent one on Diff Tools, featuring Kaleidoscope.
If you don’t own Tower already, a free 30 day demo is available directly from their website. Download it right now and try out the integration features described below.
Tips for using Tower and Kaleidoscope together
There’s an obvious synergy between Tower and Kaleidoscope: Tower is a great front end to Git’s change management and Kaleidoscope is a tool for dealing with changes. Here are a few scenarios, beyond comparing two files, that may not be obvious and can help you optimize your workflow. All examples below assume you have set Kaleidoscope as the Diff Tool in Tower Preferences > Git Config.
Comparing two arbitrary commits
Sometimes you aren’t interested in the changes between two consecutive commits. Instead, you want to see what has changed between two specific commits, for example. Just select those two commits from the History of a branch, by Command(⌘)-clicking them. This will give you a Compare button on the right. Clicking it will open a changeset in Kaleidoscope, giving you a an overview of all changes between those two commits. All Kaleidoscope’s advanced features, such as filtering and search, are at your disposal.
Inspecting a Pull Request
When selecting a pull request from the list, you’ll get a Difftool button upon hovering over the right area. Alternatively, choose Repository > Open Diff Tool (or use the shortcut ⇧⌘D). Kaleidoscope will help you understand exactly what will change when accepting and merging the pull request.
Comparing Branches and Tags
Sometimes you want to see exactly which files—and which contents in those files—have changed between two releases or in a feature branch. This is very easy with Tower. Select two branches or tags from the sidebar by ⌘-clicking two entries. Bring up the contextual menu and select Compare <entry> with <entry2>…. This will open a changeset window in Kaleidoscope, showing you all the changes between those two entries.
Comparing the working copy
Here’s one of our favorite features, new since Tower version 8.2. You can open Kaleidoscope with the current working copy status and compare all changes of the current working copy with the last commit. By selecting Repository > Open Diff Tool (or using the shortcut ⇧⌘D), you get a new Kaleidoscope window showing all current changes compared to the last commit, staged or not. This allows you to quickly scan the changes in the working copy, and decide whether to commit these changes or revert blocks that should not be in the next commit.
Tower + Kaleidoscope = Focus
So far we have shown how to send content from Tower to Kaleidoscope. But what is the specific benefit of Kaleidoscope in the context of Git changesets? Apart from the more elaborate diffing options and the ability to resolve merge conflicts right inside Kaleidoscope, consider the sidebar in the screenshot below. Kaleidoscope focuses on all changes to all files. It offers a great overview, including some statistics. And it provides powerful filtering options to help you quickly focus on those changes you care about at that moment.
Our favorite Tower Features
In part two of this series we will showcase a few features of Tower that we particularly love and rely on for our daily work. Is there a use case you rely on that has not been mentioned here? Please share it with us!