emrg: merge stop-git.ps1 into stop-emrg.cmd as single file (rant 2026-08-12T14:00:05) - #702
Conversation
argszero
left a comment
There was a problem hiding this comment.
✅ LGTM — cycle
Reviewed the full diff on feature/stop-git-merge-single-file:
- Single-file merge is faithful:
bin/stop-git.ps1deleted and its logic inlined intobin/stop-emrg.cmdstep 4 as onepowershell -NoProfile -ExecutionPolicy Bypass -Commandinvocation. Semantics identical to the proven standalone script:- prefix-scoped to
$env:USERPROFILE\.emrg\install\git\*only (system Git never matched) - pass 1 kills the git tree (git/ssh/plink/bash), pass 2 guilt-by-association kills every survivor under the prefix
- each pass re-queries
Get-CimInstance(3 fresh enumerations, no stale snapshot); the survivor check uses the latest query exit 1names survivors (truthful failure per #701),exit 0only when nothing survives
- prefix-scoped to
- Escaping: the
\"pattern matches the:verifyinline snippet already proven on real Windows since v0.2.25–v0.2.27 — avoids the 0.2.26 quoting-escape bug; single-quoted PS literals and@(...)array-wrap are correct. - Packaging:
[Files] dontcopyentry +ExtractTemporaryFile('stop-git.ps1')+GitStopScript/%~1 plumbing all removed from make-installer.sh; build-runtime.sh copy line removed. No functionalstop-gitreferences remain (grep matches history comments only). - Tests: rewritten to pin the single-file wiring (no
-File/GITSTOPremnants, 3 enumerations, truthful exit 1) + guards thatbin/stop-git.ps1does not exist and packaging has no functional references.tests/test_installer_stop.py+tests/test_cmd_crlf.py: 6/6 passed. - Full suite:
uv run pytest tests/→ 730 passed in 22.9s (matches PR claim; CRLF 105/105 preserved). - No CI/workflow changes; no version bump (correct — v0.2.28 release to follow per the rant).
argszero
left a comment
There was a problem hiding this comment.
✅ LGTM — cycle
Reviewed the full diff of #702 (single-file merge of stop-git.ps1 into stop-emrg.cmd):
- Faithful merge: stop-git.ps1 deleted; its guilt-by-association logic inlined as one
powershell -ExecutionPolicy Bypass -Commandin step 4 — prefix-scoped to%USERPROFILE%\.emrg\install\git\*(system Git never matched), pass 1 kills git tree (git/ssh/plink/bash), pass 2 kills every survivor (sh/vim included per host 2026-08-11T19:47:44). - Fresh enumeration: each pass + the survivor check re-query
Get-CimInstance(3 times) — no stale snapshot; residual →Write-Hostnames +exit 1(truthful failure per #701). - Escaping:
\"matches the proven TUI/verify inline snippets shipped since v0.2.25 — avoids the 0.2.26 quoting bug and temp-file generation. - Packaging: no
dontcopy/GitStopScriptremnants in make-installer.sh or build-runtime.sh; tests pin the wiring (incl.bin/stop-git.ps1absent + CRLF 105/105). - CI: test run 31568952199 PASS. Local pytest 730 green (net-zero test delta). No version bump — release v0.2.28 deferred until host confirms per rant.
argszero
left a comment
There was a problem hiding this comment.
✅ LGTM — cycle
3rd consecutive ✅ (R1057 + parallel + this cycle, no ❌ in between). Head 9721194 unchanged since my earlier audit — full diff re-verified: single-file merge faithful to the deleted stop-git.ps1 (prefix-scoped guilt-by-association, 3 fresh Get-CimInstance queries, truthful exit 1), \" escaping matches the proven :verify pattern, packaging references removed, CRLF 105/105, full suite 730 passed. Merge condition satisfied.
Uh oh!
There was an error while loading. Please reload this page.
Merge stop-git.ps1 into stop-emrg.cmd as a single file (rant 2026-08-12T14:00:05)
Background
Host decision 2026-08-12 (B plan: merge first, release v0.2.28 later). PR #701
delivered CRLF enforcement + truthful stop-git failure but kept the separate
bin/stop-git.ps1(make-installer still references it, stop-emrg.cmd step 4still calls it). The host explicitly asked for a single file.
Changes
bin/stop-git.ps1deleted — the guilt-by-association kill logic now livesinline in
bin/stop-emrg.cmdstep 4 as a singlepowershell -Commandinvocation:
$env:USERPROFILE\.emrg\install\git\*only (system Git inProgram Files never matched)
git/ssh/plink/bash)(sh/vim included, host 2026-08-11T19:47:44 decision)
Get-CimInstance(no stale snapshot); the survivorcheck uses the latest snapshot; residual → exit 1 (truthful failure, emrg: enforce CRLF for Windows .cmd/.ps1 + truthful stop-git failure (rant 2026-08-12T12:30:41) #701)
\"escaping already proven on real Windows in theTUI-fallback and :verify inline snippets (shipped since v0.2.25-v0.2.27),
avoiding both the 0.2.26 quoting-escape bug and temp-file generation
packaging/make-installer.sh: removed the[Files] dontcopyentry forstop-git.ps1 and the
GitStopScript/ExtractTemporaryFile('stop-git.ps1')plumbing in
PrepareToInstall— now only extracts and runsstop-emrg.cmdpackaging/build-runtime.sh: removed the stop-git.ps1 copy linetests/test_installer_stop.py: rewritten to pin the single-file wiring(inline
-Command+\"escapes, no-File/GITSTOPremnants, 3 freshGet-CimInstanceenumerations, truthfulexit 1); added a guard thatbin/stop-git.ps1does not exist and packaging has no functional referencesAcceptance (from rant)
bin/has no stop-git.ps1;grep stop-gitmatches history comments only ✅Verification
tests/test_cmd_crlf.pygreen (CRLF preserved: 105/105)