Repository navigation
Comparing changes
Open a pull request
base repository: gitx/gitx
base: 1.5
head repository: gitx/gitx
compare: 1.5.1
- 10 commits
- 5 files changed
- 4 contributors
Commits on Jun 22, 2026
-
Bump actions/checkout from 6 to 7
Bumps [actions/checkout](https://github.com/actions/checkout) from 6 to 7. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@v6...v7) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 1cc7f94 - Browse repository at this point
Copy the full SHA 1cc7f94View commit details -
Merge pull request #557 from gitx/dependabot/github_actions/actions/c…
…heckout-7 Bump actions/checkout from 6 to 7
Configuration menu - View commit details
-
Copy full SHA for 8d96fb6 - Browse repository at this point
Copy the full SHA 8d96fb6View commit details
Commits on Jul 18, 2026
-
Don't override PRODUCT_BUNDLE_IDENTIFIER for the whole workspace
Passing PRODUCT_BUNDLE_IDENTIFIER=net.phere.GitX on the xcodebuild command line overrides the setting for every target in the workspace, including Sparkle's Updater.app built from the submodule. Since the Sparkle 2.9.3 bump, Updater.app's Info.plist takes its identifier from that build setting, so released bundles contain two bundles claiming net.phere.GitX: the app itself and GitX.app/Contents/Frameworks/Sparkle.framework/Versions/B/Updater.app. When the gitx CLI then asks Scripting Bridge for net.phere.GitX while the app is not running, LaunchServices can resolve to the Updater.app, which has no scripting definition, and the CLI crashes: warning: failed to get scripting definition from .../Sparkle.framework/Versions/B/Updater.app; it may not be scriptable. *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[SBApplication open:withOptions:]: unrecognized selector ...' The override is redundant anyway: every target already sets its own PRODUCT_BUNDLE_IDENTIFIER in project.pbxproj (net.phere.GitX for the app, net.phere.gitx-cli for the CLI).Configuration menu - View commit details
-
Copy full SHA for 91a0d46 - Browse repository at this point
Copy the full SHA 91a0d46View commit details -
gitx CLI: locate GitX.app relative to the tool instead of by bundle ID
The CLI ships inside the app bundle at GitX.app/Contents/Resources/gitx, so derive the app's URL from the tool's own (symlink-resolved) path and target it with -[SBApplication applicationWithURL:]. Resolving by bundle identifier is fragile: if any other bundle on disk claims net.phere.GitX (as Sparkle's embedded Updater.app did in releases built with a global PRODUCT_BUNDLE_IDENTIFIER override), LaunchServices can return a bundle without our scripting definition and every scripting call crashes with '-[SBApplication open:withOptions:]: unrecognized selector'. The bundle-identifier lookup is kept as a fallback for running the tool outside an app bundle (e.g. straight from the build directory). This makes the CLI immune to broken bundles already installed by existing releases, complementing the workflow fix in the previous commit.
Configuration menu - View commit details
-
Copy full SHA for 62b304d - Browse repository at this point
Copy the full SHA 62b304dView commit details
Commits on Jul 23, 2026
-
Merge pull request #560 from voidbranch/fix-sparkle-updater-bundle-id
Fix gitx CLI crash when GitX is not running (Sparkle Updater.app steals the bundle identifier)
Configuration menu - View commit details
-
Copy full SHA for 8951252 - Browse repository at this point
Copy the full SHA 8951252View commit details
Commits on Aug 9, 2026
-
Fix sidebar-refresh to respond to manual refreshes and external branc…
…h changes The sidebar's checked-out branch checkmark does not update after a branch change made outside GitX (e.g. `git switch` in a terminal), or even after clicking GitX's own manual Refresh button, even though the commit-list header already updates correctly in both cases. reloadRefs already invalidates the cached HEAD ref and fires KVO on refs on every refresh cycle, automatic or manual, but PBGitSidebarController never observed that property. Observe refs in PBGitSidebarController and reload the outline view, preserving the current selection, so the checkmark badge is recomputed against the current HEAD whenever refs change, regardless of what triggered the refresh.
Configuration menu - View commit details
-
Copy full SHA for 6e92c1a - Browse repository at this point
Copy the full SHA 6e92c1aView commit details -
Guard against stale PBGitRevList parses overlapping (#563)
A burst of git-directory FSEvents (e.g. from `git switch -c <branch>` touching both a ref file and HEAD) can trigger overlapping loadRevisionsWithCompletionBlock: calls on the same PBGitRevList instance. The previous parse operation's trailing commit-batch flush is fire-and-forget and can still land after a newer parse has already reset/appended its own commits, since NSOperation.isCancelled is only checked cooperatively and can lose that race. The result is duplicate commits appended into the history list. Track a per-instance load generation and reject any updateCommits: flush whose generation no longer matches the current one, closing the race regardless of operation-queue/FSEvents timing.
Configuration menu - View commit details
-
Copy full SHA for d9df533 - Browse repository at this point
Copy the full SHA d9df533View commit details -
Debounce git-directory refresh notifications (#563)
FSEvents' coalescing window doesn't reliably batch every file written by a single git operation (e.g. `git switch -c` writes a new ref file and rewrites HEAD) into one callback, so PBGitHistoryController could receive multiple PBGitRepositoryEventNotifications in quick succession and call refresh: for each one, triggering redundant, overlapping history reloads. Coalesce bursts of git-directory notifications within a short window into a single refresh: call, and cancel any pending debounced refresh when the view closes.
Configuration menu - View commit details
-
Copy full SHA for ef38ae8 - Browse repository at this point
Copy the full SHA ef38ae8View commit details -
Merge pull request #564 from goneng/fix-duplicate-commits-race
Fix duplicate commits from overlapping history refreshes (#563)
Configuration menu - View commit details
-
Copy full SHA for 4d79978 - Browse repository at this point
Copy the full SHA 4d79978View commit details -
Merge pull request #562 from goneng/fix-sidebar-refresh
Fix sidebar-refresh to respond to manual refreshes and external branch changes
Configuration menu - View commit details
-
Copy full SHA for 21e5ff0 - Browse repository at this point
Copy the full SHA 21e5ff0View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff 1.5...1.5.1