Tower 9 — A Brand-New Merge UI
Table of Contents
If you ask 10 developers, 10 will agree that resolving merge conflicts isn't the most amusing activity. While we can't decide which version of the code should stand for your projects, we can definitely help in creating a better merge experience. In version 9.0 for Mac, that was exactly our focus — and we paid close attention to what you considered indispensable in this regard.
This release packs many improvements around merging, but that's not the entire story — we also squeezed in some of YOUR most-requested features.
Here is everything you should know about the new Tower 9.0 for Mac:
- Merge Improvements
- Auto-Expand Diffs in Changesets
- Large Diff Warnings
- Show a Commit, Branch, and Tag in History
Let's explore these shiny new features, shall we? If you prefer, you can also watch this 4-minute video to quickly get up to speed 👇
1. Merge Improvements
It all starts with a brand-new Merge UI! The primary goal was to make it more explanatory and consistent for merge sequences and when editing revisions.
Now, when a merge conflict pops up, you will notice a big yellow banner on top. This will be visible in every merge mode.
Right off the bat, you will notice that it indicates the number of unresolved conflicts between the two branches. The files will now also show “conflict” and “resolved” badges.
For even clearer visualization, you can click on "Show only conflicts" to filter the conflicted files.
In case of a rebase, you will see a progress bar so that you know which step you're currently in. The icon, which you can also find in the sidebar, will be slightly different.
The new Merge UI may be the first novelty that catches your eye, but the merging overhaul goes much deeper. Let's look at the not-so-obvious merging refinements next.
Instant Conflict Detection
When merging another branch or revision (by merging, rebasing, or pulling), the dialog will instantly let you know if conflicts will occur.
Empty Merge Commits
During a rebase operation, you may end up in a scenario where no files were changed. If there are no changes to commit, you can now either create an empty commit or skip it.
In case it's a merge operation, you can either abort the merge or create an empty commit.
Edit the Commit Message When Rebasing
It is now possible to edit the commit message after resolving conflicts during a rebase or any other merge sequence, like cherry-picking or reverting multiple commits.
Restore Unmerged Versions
If you messed up merging a file, you can restore the unmerged version by right-clicking on it and selecting "Restore Merge Conflict Versions > Restore Unmerged Version of [FILE]".
It even works after the file has been resolved!
You can now create snapshots of your entire working copy or individual changed files.
Wait, Snapshots? What are they?
Think of snapshots as stashes that are automatically re-applied to the working copy — so that you can immediately try out an idea with the assurance that your current state is safely stored under the "Stashes" view.
To create a partial snapshot, select the desired changed file(s), right-click to access the context menu and click on "Snapshot [x] items".
To create a full snapshot, click on "Working Copy > Create Snapshot". All changed files will be included.
Just like any stash, you can write a message and find your work later under the "Stashes" view.
3. Auto-Expand Diffs in Changesets
Tower can now automatically expand diffs in changesets. Many of you have requested this feature in the past and we're happy to bring it to Tower 9.0!
Click on "View > Diffs in Changeset" to configure the number of items this will apply or simply set it to "Always Auto-Expand".
4. Large Diff Warnings
Loading a large diff can have a big impact on performance. Now, if a diff exceeds a certain threshold (default is 20 KB), you will see a prompt before Tower attempts to display it.
You can change the default value by accessing the Preferences. In the "General" tab, type a different value under "Show warning for diffs larger than (kB)".
5. Show a Commit, Branch, and Tag in History
Another highly requested feature comes to Tower! You can now reveal any commit, branch, or tag in Tower's History view by selecting “Reveal in History” from the context menu.
More Improvements and Bug Fixes
Apart from this list of new features, there are other improvements worth mentioning:
- Working Copy: Files could not be dragged to external editors. This is working again.
- Pull Requests: Tower could crash when reloading pull requests. This has been fixed.
- Auto-Fetch: Further improved cancellation of hung auto-fetch operations which could block other remote operations.
- Working Copy: The search field used a case-sensitive search when filtering for files. This has been changed to be case-insensitive.
We hope you're just as excited to try out Tower 9 as we are! If you already have a Tower account, update Tower to the latest version for free!
Happy merging! 😊
Not a Tower user yet? Download our 30-day free trial and take it for a spin!