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
openRepoShape in Git Bash: the machine: report probes python3 alone, a drive-letter $OPENREPOSHAPE_REPO or $OPENREPOSHAPE_BIN_DIR is misread, tests-git-bash skips #598's installer cases, and a doctor test's docstring is stale #649
Goal: the launcher behaves in Git Bash as README says it does, and the Git Bash job runs every installer case README's "tested in CI" covers.
Filed by lane openRepoShape-5 on Brett Heap's word of 2026-10-16T11:21:49Z ("#596's Git Bash follow-ups"), from lane 5's checklist items on #459 (comment, items 1-3) and #461 (comment, items 1 and 3). Found by #596's writer (#585).
Lines (line numbers at bf7b19b)
The machine: report probes python3 alone (openRepoShape:318-340, the loop at :321). Where Python came from python.org, Git Bash has python and no python3, or only the Microsoft Store stub, so the block says python3 MISSING, or present for a stub, while --preflight passes with python (find_python, :454-465). Direction: probe python too. The block promises "four command -v probes, which execute nothing at all" (:309-310); adding python keeps that but still reads a stub as present, and running find_python's version check rejects the stub but breaks the promise. Say which, and why.
A drive-letter $OPENREPOSHAPE_REPO is read as an owner/name slug (shape_clone_url, :244-249): C:/src/openRepoShape becomes https://github.com/C:/src/openRepoShape.git (run on Linux with the function lifted out). Its callers are --doctor's clone (:482-490) and the value setup.sh clones (:908). Direction: a drive-letter arm ([A-Za-z]:[\\/]*) beside /* and .*.
A Windows-spelled $OPENREPOSHAPE_BIN_DIR makes --install print export PATH="D:\...:$PATH", which bash cannot use (:388, :439-443). Direction: spell the directory the way bash does first (cygpath -u, as the suites' bash_path does), or refuse a value holding a drive letter.
install.sh: git-filter-repo with the uv already there where there is no pipx, never pip install --user, and two readinesses at the end, adoption: then done: (#595) #598's installer cases do not run under Git Bash.tests-git-bash (.github/workflows/tests.yml:156-220) runs tests/test_install_sh.py and tests/test_openreposhape_command.py, but the uv install, the readinesses' wording and the pasted next steps are tested only in tests/test_install_sh_filter_repo.py, on Linux, while README says Git Bash runs step 3's one line "tested in CI". Direction: add the file to the job's pytest line, then watch one windows-latest run (18 passed on Linux; it inherits test_install_sh.pytestmark and drives every run through Net).
A stale docstring:test_a_ref_the_doctor_would_check_out_is_validated (tests/test_openreposhape_command.py:662-684, the sentence at :668-669) says the refusal "has to arrive before any clone does", but shape_checkout clones first (:490) and checks the ref after (:495). Direction: reword it, or check the ref before the clone.
Overlaps: lane 3's open #630 (#563's docs) changes README, the handbook, tests.yml and both suites.
Mark the five lines → this issue on #459 and #461, and tick them there when this closes.
CLAIMED — lane openRepoShape-5, session 50cede29-ab82-4ca3-9f67-d98e1a58c8d2@Eagle, 2026-10-16T11:31:15Z, for #649
Logged in lanes/log/openRepoShape-5.md at afffbe0dac03a7e3367eb0d6556c646e635d233f.
The three reads (lane-collision-protocol Rule 1):
1. existing `CLAIMED —` comments on opensoft/openRepoShape#649:
none
2. `gh pr list --repo opensoft/openRepoShape --state all --search "#649"`, kept where the row or its body names `#649`:
none
3. `git ls-remote --heads git@github.com:opensoft/openRepoShape` branches naming `649` as a whole token:
none
Activity
brettheap commentedon Oct 16, 2026
CLAIMED — lane openRepoShape-5, session 50cede29-ab82-4ca3-9f67-d98e1a58c8d2@Eagle, 2026-10-16T11:31:15Z, for #649
Logged in
lanes/log/openRepoShape-5.mdatafffbe0dac03a7e3367eb0d6556c646e635d233f.The three reads (lane-collision-protocol Rule 1):
tests/test_openreposhape_command.py: a Windows-spelled `$OPENREPOSHAP…
openRepoShape in Git Bash: the `machine:` row finds `python`, a drive…
Merge origin/main (de92614) into l3-563-docs
README.md, the handbook and the v1.1.0 notes: the adopted repository …
install.sh and openRepoShape: a Windows-spelled `$OPENREPOSHAPE_BIN_D…
tests/conftest.py: the session turns git's automatic maintenance off,…