Repository navigation
Let the terminal application be chosen in the preferences - #667
Merged
Merged
Conversation
GitX has been able to drive iTerm2 for years, but the choice was reachable only through defaults write, so nobody could find it. * Offer the handlers GitX can actually drive in the Integration pane, greying out one that is not installed and saying so in its tooltip. A third terminal cannot be added by listing it: each needs its own Scripting Bridge header and its own API. * Move the handler list, display names and installed check into PBTerminalUtil, beside the code that drives them, and settle an unrecognized preference there, so the run path no longer logs and guesses at the point of use. * Add PBTerminalHandlerPreferenceTests over that choice, which is where a preference written by hand can hold anything at all.
goneng
force-pushed
the
choose-terminal-application
branch
from
September 18, 2026 07:15
81492dc to
e7f1523
Compare
Contributor
goneng
added a commit
that referenced
this pull request
Sep 18, 2026
Compare against the commit the pull request is actually being merged into, so intervening merges to master stop counting as its changes. * github.event.pull_request.base.sha is master as GitHub recorded it when the pull request last changed base, not the base branch's head. On run 35328811182 it read a921dbd while master was a996171, so the baseline was a merge behind and #667 counted as #661's work. * The checkout is refs/pull/N/merge, whose first parent is the commit the merge was computed against. Resolve it with rev-parse HEAD^1 and use that for the gate, the cache key and the baseline checkout. * Print both values, so the next run says whether they agree.
hannesa2
pushed a commit
that referenced
this pull request
Sep 18, 2026
Compare against the commit the pull request is actually being merged into, so intervening merges to master stop counting as its changes. * github.event.pull_request.base.sha is master as GitHub recorded it when the pull request last changed base, not the base branch's head. On run 35328811182 it read a921dbd while master was a996171, so the baseline was a merge behind and #667 counted as #661's work. * The checkout is refs/pull/N/merge, whose first parent is the commit the merge was computed against. Resolve it with rev-parse HEAD^1 and use that for the gate, the cache key and the baseline checkout. * Print both values, so the next run says whether they agree.
hannesa2
pushed a commit
that referenced
this pull request
Sep 19, 2026
Compare against the commit the pull request is actually being merged into, so intervening merges to master stop counting as its changes. * github.event.pull_request.base.sha is master as GitHub recorded it when the pull request last changed base, not the base branch's head. On run 35328811182 it read a921dbd while master was a996171, so the baseline was a merge behind and #667 counted as #661's work. * The checkout is refs/pull/N/merge, whose first parent is the commit the merge was computed against. Resolve it with rev-parse HEAD^1 and use that for the gate, the cache key and the baseline checkout. * Print both values, so the next run says whether they agree.
hannesa2
pushed a commit
that referenced
this pull request
Sep 19, 2026
Compare against the commit the pull request is actually being merged into, so intervening merges to master stop counting as its changes. * github.event.pull_request.base.sha is master as GitHub recorded it when the pull request last changed base, not the base branch's head. On run 35328811182 it read a921dbd while master was a996171, so the baseline was a merge behind and #667 counted as #661's work. * The checkout is refs/pull/N/merge, whose first parent is the commit the merge was computed against. Resolve it with rev-parse HEAD^1 and use that for the gate, the cache key and the baseline checkout. * Print both values, so the next run says whether they agree.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.




Fixes #637.
GitX has been able to drive iTerm2 for years, but the choice was reachable only
through
defaults write, so in practice nobody could find it.Changes
out one that is not installed and saying so in its tooltip. A third terminal
cannot be added by listing it: each needs its own Scripting Bridge header and
its own API.
PBTerminalUtil, beside the code that drives them, and settle anunrecognized preference there, so the run path no longer logs and guesses at
the point of use.
PBTerminalHandlerPreferenceTestsover that choice, which is where apreference written by hand can hold anything at all.
Test plan
settles to the default rather than reaching the run path unrecognized
Opened from a branch on
gitx/gitxrather than the fork, so CI has the signingsecrets and produces an installable dmg and zip. Replaces #665, which could not
build one.