Skip to content

FinderGit 0.26.0

Choose a tag to compare

@gfazioli gfazioli released this 19 Aug 16:40
· 32 commits to main since this release

FinderGit 0.26.0 — a stop button, and what it leaves behind

Highlights

A git operation that's taking too long can now be stopped. Once Fetch, Pull or Push has been running for three seconds, its button becomes a stop control — click it and the operation ends. Until now a slow remote left the whole action bar disabled with nothing to do but wait it out, which is exactly how a slow forge came to read as a frozen app.

The three-second delay is deliberate: without it, a double-click on Fetch would cancel the fetch you just started.

Stopping is a real interruption, not the app looking away — the underlying Git process is ended. What that leaves behind depends on the action, so FinderGit tells you which:

  • A stopped Fetch is harmless. Nothing in your working tree changed, and you can simply run it again.
  • A stopped Push leaves the remote either updated or untouched, never half-way: Git updates each branch atomically.
  • A stopped Pull is the one to know about. If it was still downloading, nothing has changed. If it had started merging, you may be left mid-merge — and FinderGit notices that, offering Finish and Abort in the strip above the action bar, the same way it does for a merge that stopped on a conflict.

A stop is your decision, so it isn't reported as a fault. The button shows a neutral grey stop icon rather than a red ✗, and the repository is re-read immediately — the reconcile banner appears at once instead of waiting on a filesystem event that may never come.

Refresh has no stop control, because it's a local re-read that finishes before you could click it.

Every release page now publishes its checksum

If a virus scanner ever flags a FinderGit download, the first question is whether the file really is the one we published — and until now the answer lived nowhere you could reach. Every release page now states the SHA-256 of its DMG: this one and every earlier release. Verifying your download explains how to compare it, and what each check does and does not prove. Releases from 0.4.1 on can also be confirmed as notarized by Apple without installing anything.

Under the hood

  • Stopping and timing out are now distinguishable at the source. They had been collapsing into one: the timeout leg of the wait swallowed its own cancellation, so every stop was reported internally as "it ran too long" — harmless in itself, until a genuine timeout raced with a late stop and was misreported as something you had asked for.
  • The elapsed counter runs on one clock per control instead of one per thing that wants the time, and it stops when the action does. An animation with no end keeps the display pipeline committing frames for the rest of the session.
  • The cancellation tests no longer depend on the network to produce a stalled connection. They use a transport that hangs by construction, so a machine whose network answers an unreachable address can't quietly turn them green.

Install

Download the DMG below, drag FinderGit to Applications, and launch it. The app is signed with a Developer ID and notarized by Apple, so no Gatekeeper bypass is needed. Existing installations update themselves.

Requirements

macOS 15 or later. Universal binary (Apple Silicon and Intel).

Verify this download

Compare the checksum of the file you downloaded:

shasum -a 256 FinderGit-0.26.0.dmg

It must print exactly:

8aff7ffbce6b82335e90be6620d29173f89cdd9231a89e0be083eda81c4f01b6

The DMG is also signed with an Apple Developer ID and notarized by Apple, which you can confirm without installing it:

spctl -a -vv -t open --context context:primary-signature FinderGit-0.26.0.dmg

That reports source=Notarized Developer ID for a genuine build.