1.1.2
A cleanup release: GitBox stops reporting situations it already handles as errors.
Reading a real Command Log turned up 90 error entries — 74 of them for operations that had actually succeeded, or that could never have run in the first place.
Fixed
Discarding an untracked file logged two errors for an operation that worked. The discard fired three git commands in sequence and swallowed the failures, but the log is written before the caller sees them — so every discard of an untracked file left two pathspec did not match any file(s) known to git entries behind. GitBox now checks the path's status and runs only the command that applies. This alone was 64 of the 90.
A repository with no remote is no longer an error. It is a normal local repo. The background fetch ran every minute regardless and failed with remote 'origin' does not exist, and the toolbar surfaced the same failure as a red banner. Fetch, pull and push are now disabled with a tooltip explaining why, the background fetch is skipped, and the working tree still refreshes.
Stashing selected files could half-succeed. If a path had gone stale since the file list was rendered — deleted, discarded, or stashed from another tab — git created the stash for the valid paths and then failed, so the operation reported an error after having done the work. Paths are now revalidated against the live status before the command runs, for stage, unstage, stash and discard alike.
A diverged pull is an action, not a failure. It opens the merge/rebase dialog, so that is what the log now says. Merge conflicts are likewise reported as the expected outcome of a merge.
Failures that are genuinely failures — a stash apply onto a busy index, a rejected push, a conflicted merge — are still reported as such. The Command Log is useful precisely because it shows what actually ran.
Downloads
- Linux — AppImage,
.deb,.rpm,.pacman - Windows —
.exe(NSIS installer) or.msi
Existing installs update in place through the built-in updater.