Repository navigation
Make the pre-push check run on the shell macOS ships - #1388
Merged
Conversation
The pre-push review-unit check used a bash 4 builtin that the default macOS shell (3.2) does not have, so every push from a Mac stopped at the hook. Read the NUL-separated file lists with a portable loop instead. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Change-Id: I186973c821653410e5d48a13d1acd2f2e4bb8433
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: ace5f03c-7516-4c7b-b87d-03c5e9c01793) |
Contributor
|
Queued — the merge queue status continues in this comment ↓. |
Owner
Author
|
@Mergifyio queue |
Contributor
Merge Queue Status
This pull request spent 1 minute 25 seconds in the queue, with no time running CI. ReasonPull request #1388 has been merged manually at 12ae673 HintYou were too fast! Waiting for
All conditions
Tick the box to put this pull request back in the merge queue (same as
|
10 of 12 tasks
Contributor
☑️ The pull request has been merged manuallyDetailsThe pull request has been merged manually at 12ae673 |
This was referenced Oct 13, 2026
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.
Summary
Before a push, catstack runs a safety check on the files you changed. On a Mac it crashed, because the built-in shell lacks a feature it used.
So every push from a Mac stopped at the check, even a harmless one.
This change reads the list of changed files with a loop that every shell supports.
The check blocks the same pushes as before. It only stopped crashing.
Review Claim
The push safety check runs on the shell a Mac ships with, and blocks exactly the same pushes as before.
Review Lane
behavior
Review Unit
engine-runtime
Safety Invariant
The check still blocks the same pushes, and only the way it reads file lists changes.
Slice Rationale
One small portability fix, kept apart from the rule and hook changes that were blocked by it.
Non-goals
Measured
Why it crashed, from the default Mac shell and the file at the base commit:
Command:
python3 -m unittest tests.test_pre_push_hookon a Mac with the default shellRan 27 tests in 15.623s -- FAILED (failures=19)Ran 27 tests in 18.762s -- OKTest Plan
Test Plan
Revert Plan
Revert Plan
git revert 680674c3🤖 Generated with Claude Code