Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: gitx/gitx
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 1.5
Choose a base ref
...
head repository: gitx/gitx
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 1.5.1
Choose a head ref
  • 10 commits
  • 5 files changed
  • 4 contributors

Commits on Jun 22, 2026

  1. 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]>
    dependabot[bot] authored Jun 22, 2026
    Configuration menu
    Copy the full SHA
    1cc7f94 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #557 from gitx/dependabot/github_actions/actions/c…

    …heckout-7
    
    Bump actions/checkout from 6 to 7
    hannesa2 authored Jun 22, 2026
    Configuration menu
    Copy the full SHA
    8d96fb6 View commit details
    Browse the repository at this point in the history

Commits on Jul 18, 2026

  1. 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).
    voidbranch committed Jul 18, 2026
    Configuration menu
    Copy the full SHA
    91a0d46 View commit details
    Browse the repository at this point in the history
  2. 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.
    voidbranch committed Jul 18, 2026
    Configuration menu
    Copy the full SHA
    62b304d View commit details
    Browse the repository at this point in the history

Commits on Jul 23, 2026

  1. 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)
    hannesa2 authored Jul 23, 2026
    Configuration menu
    Copy the full SHA
    8951252 View commit details
    Browse the repository at this point in the history

Commits on Aug 9, 2026

  1. 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.
    goneng committed Aug 9, 2026
    Configuration menu
    Copy the full SHA
    6e92c1a View commit details
    Browse the repository at this point in the history
  2. 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.
    goneng committed Aug 9, 2026
    Configuration menu
    Copy the full SHA
    d9df533 View commit details
    Browse the repository at this point in the history
  3. 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.
    goneng committed Aug 9, 2026
    Configuration menu
    Copy the full SHA
    ef38ae8 View commit details
    Browse the repository at this point in the history
  4. Merge pull request #564 from goneng/fix-duplicate-commits-race

    Fix duplicate commits from overlapping history refreshes (#563)
    hannesa2 authored Aug 9, 2026
    Configuration menu
    Copy the full SHA
    4d79978 View commit details
    Browse the repository at this point in the history
  5. Merge pull request #562 from goneng/fix-sidebar-refresh

    Fix sidebar-refresh to respond to manual refreshes and external branch changes
    hannesa2 authored Aug 9, 2026
    Configuration menu
    Copy the full SHA
    21e5ff0 View commit details
    Browse the repository at this point in the history
Loading