Repository navigation
fix: preserve sticky bits in macOS trust storage checks - #263
Conversation
|
No actionable comments were generated in the recent review. WalkthroughBSD trust-storage checks now read special permission bits, so sticky ancestors are distinguished from unprotected writable ancestors. The shell-integration cache schema advances to 16. Tests cover CLI and generated-shell behavior, plus cache regeneration. ChangesSticky trust-storage validation
Estimated code review effort: 2 (Simple) | ~10 minutes Change: Bug fix · Severity of issue fixed: Medium Suggested reviewers: Merge Risk:
|
Description
On macOS,
git gtr trustrejected private trust storage beneath sticky directories such as/tmp. BSDstat %Lpomits the sticky bit, so the validator treated a protected01777ancestor as unprotected0777.Read the full mode with
%pin the CLI and generated Bash/Zsh/Fish helpers. Bump the shell-integration cache schema from 15 to 16 so existing installations regenerate affected helpers, and extend cache-upgrade coverage.Motivation
Restore the intended sticky-parent exception while retaining rejection of unprotected writable ancestors, writable trust directories, unsafe ownership, and write-capable ACLs.
Type of Change
Testing
Tested on macOS 26.6.2 with Bash 3.2.57, Git 2.50.1, Zsh 5.9, and Fish 4.9.3.
git diff --checkpassed./tmp: trust approval,new --porcelain, postCreate hooks, AI postCd hooks using--ai true, Bashgtr cd, schema-16 cache generation, and removal all passed.Linux and Windows runtime validation was not performed for this change.
Checklist
License Acknowledgment
This contribution is submitted under the repository's Apache License 2.0.
Summary by CodeRabbit