You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
The openRepoTools entry point prints a traceback, not its refusal, when the only bash on PATH cannot be run #256
There is no runnable bash, but PATH holds a mode-644 file named bash, or a directory that cannot be searched.
os.execvp keeps that EACCES and raises PermissionError.
The person gets a traceback and exit 1. They should get the refusal contracts/cli-output.md gives for a missing bash, with exit 2.
A runnable bash later on PATH is unaffected, because execvp goes on to it.
How it was shown: a run. env -i PATH=<dir with a mode-644 bash> python3 -c 'from openrepotools.cli import main; …' gave PermissionError: [Errno 13] and exit 1.
Why it waits: the contract names only "no bash" and "PATH ending in a file", so this edge case is outside it.
The fix: give PermissionError the same refusal, naming the unrunnable bash. Add a test beside test_entry_'s no-bash cases.
Filed in milestone v1.2.0 on Brett Heap's word (2026-10-18T20:2xZ, "yes, file both as you recommend"). It is unclaimed.
CLAIMED — lane openRepoTools-5, session 0d83dca2-c18c-4bb0-99ce-896e6cafea02@Eagle, 2026-10-20T23:00:33Z, for #256
Logged in lanes/log/openRepoTools-5.md at 95043c2aa9b0b02ac876ba7acc0ca2706edbab4c.
The three reads (lane-collision-protocol Rule 1):
1. existing `CLAIMED —` comments on opensoft/openRepoTools#256:
none
2. `gh pr list --repo opensoft/openRepoTools --state all --search "#256"`, kept where the row or its body names `#256`:
262 openRepoTools becomes the openrepotools package: pipx installs the wheel with the whole payload, --install leaves pipx's link to pipx, --version names the release, and every count line says where the other commands come from (#228, PR 1 of 4) 006-release-pypi MERGED
3. `git ls-remote --heads git@github.com:opensoft/openRepoTools` branches naming `256` as a whole token:
none
Activity
openRepoTools becomes the openrepotools package: pipx installs the wh…
brettheap commentedon Oct 20, 2026
CLAIMED — lane openRepoTools-5, session 0d83dca2-c18c-4bb0-99ce-896e6cafea02@Eagle, 2026-10-20T23:00:33Z, for #256
Logged in
lanes/log/openRepoTools-5.mdat95043c2aa9b0b02ac876ba7acc0ca2706edbab4c.The three reads (lane-collision-protocol Rule 1):
The openRepoTools entry point's refusal now says that no bash on this…
The proposal and tasks T005, T007 and T026 now describe both of the e…
A test now holds that the openRepoTools entry point puts SIGPIPE back…