Archive for February 20, 2025

Thursday, February 20, 2025

Git Tower 12.5

Bruno Brito:

Now you can create, check out, and manage Worktrees directly from within your favorite Git client! 🫡

[…]

The git-worktree feature was introduced in version 2.5.0 of Git. The main advantage is that it allows you to have multiple working trees attached to the same repository, enabling you to check out more than one branch simultaneously from a single repository.

[…]

Another great use case is for long-running operations. You can perform time-consuming tasks, such as large builds or extensive tests, in one worktree while continuing to work in another.

Previously:

Beej’s Guide to Git

Brian Hall (via Hacker News):

Which leads us directly to the goal: let’s make sense of all this and go from complete Git novice up to intermediate! We’ll start off easy (allegedly) with commands mixed in with some theory of operation. And we’ll see that understanding what Git does under the hood is critical to using it correctly.

And I promise there’s definitely a chance that after you get through some of this guide, you might actually start to appreciate Git and like using it.

He also has some other great guides, most notably the one about network programming.

Kaleidoscope 5.3

Kaleidoscope 5.1:

Kaleidoscope 5.1 comes with a URL scheme, yet another new way to integrate with other apps on your Mac.

[…]

There’s a very specific use case we had in mind when adding this feature: running tests within Xcode, in particular snapshot testing using swift-snapshot-testing.

[…]

Using the new Kaleidoscope 5.1 and a little diffTool configuration for SnapshortTesting, you instead get a clickable link within Xcode.

Kaleidoscope 5.2:

While Kaleidoscope has always automatically resolved some conflicts using the Base file provided by Git, it lacked the ability to display that file directly. Some merge tools display the Base file alongside the input files and the merge file. However, we never favored this approach because it further complicates the conflict resolution process by presenting you with four rather similar files simultaneously instead of the already confusing three.

But what if you were able to show the Base only in cases where you actually need it? And what if you were able not only see the Base itself, but instead compare what changed between Base and side A or B? After all, why should you try to figure out the difference between Base and A or B while having a diff app at your disposal? And what if, only in cases where that short comparison is unclear to you, you were able to then compare the entire files and inspect what changed between those versions, commit by commit?

Kaleidoscope 5.2 offers exactly all of that.

Florian Albrecht:

We understand that adapting to new keyboard shortcuts can be challenging, especially when you’ve developed muscle memory around the old ones. However, we believe that these changes in Kaleidoscope 5.2 will ultimately enhance your merge experience.

We encourage you to give the new shortcuts a try. If you find that you still prefer the old shortcuts, use System Settings to revert them to your liking.

Florian Albrecht:

Repositories can have a custom icon and/or a colored background.

Florian Albrecht:

In File Properties, you’ll find all the data except for the actual content. Even Extended Attributes and the presence of a BOM in UTF-8 files are included.

[…]

Did you accidentally open a branch comparison in the wrong order? No worries! Just right-click on the row in Recents and select Open Inverted.

[…]

When looking at the commit history of a file, Navigate > File History > Select Previous A & B (keyboard [), and …Select Next A & B (]) let you browse changes one by one, without lifting your fingers from the keyboard.

Kaleidoscope 5.3:

The new top section shows the current status of the repository.

[…]

You can now see a list of recent commits to any branch in your repository, sorted by date, with the latest commit on top. The current working copy branch will be shown by default. You’ll see the most important information about each commit in the row, and for each commit there are two main actions:

  1. Double-click an entry to immediately show all changes made in that commit (the changeset of that commit).
  2. Click the more button to see more details about that commit, like the entire formatted commit message.

[…]

Using the search field, and by picking one of the two available modes, you can either filter the list of commits, or select commits matching your search in the list.

I love the idea of searching for a commit and seeing other commits that are adjacent to it.

Previously:

Retcon 1.2

Nathan Manceaux-Panot:

Get sprawling diffs under control with commit splitting. Break down oversized commits into granular, meaningful ones.

While editing any commit, unstage some of its changes, then confirm the edit. The changes will be moved to a new commit.

Previously: