mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-08-31 02:14:29 +00:00
The core.bare=true corruption of the shared repository recurred on 2026-07-17: a script that runs scratch git commands while the pre-commit environment from a linked worktree (absolute GIT_DIR) is still exported re-initializes the REAL repository as bare. a0fda6b26 fixed four helper test files but missed two spots in scripts/release_control/internal: - verify_commit_slice_test.py's git() helper only popped GIT_INDEX_FILE, so its scratch 'git init' calls re-init the real repo when GIT_DIR is inherited. It now scrubs via the shared repo_file_io.strip_local_git_env. - verify_commit_slice.py's production git_env() kept the inherited hook env even when unit tests patch REPO_ROOT to a temporary repository, pointing git plumbing (including index writes) at the wrong repo. It now scrubs in the test-patched branch only, matching format_staged_go. Regression teeth: - verify_commit_slice_test.py gains a canary test that exports the real hook env shape (absolute GIT_DIR + GIT_INDEX_FILE, no GIT_WORK_TREE — with GIT_WORK_TREE set the corruption does not reproduce) against a scratch repo + linked worktree and asserts core.bare stays false. - repo_file_io_test.py (runs in the pre-commit battery) gains a static guard failing any release-control *_test.py that runs scratch 'git init' without referencing strip_local_git_env. - The six hand-rolled 4-var pop loops from a0fda6b26 migrate to the shared strip_local_git_env helper so the guard enforces one pattern. Verified: full release-control battery green; every touched test file also green with GIT_DIR/GIT_INDEX_FILE pointed at a canary repo's linked worktree, canary config and status intact afterward. |
||
|---|---|---|
| .. | ||
| commercial_cancellation_reactivation_proof.py | ||
| commercial_cancellation_reactivation_proof_test.py | ||
| commercial_cancellation_reactivation_rehearsal.py | ||
| commercial_cancellation_reactivation_rehearsal_test.py | ||
| hosted_signup_billing_replay_rehearsal.py | ||
| hosted_signup_billing_replay_rehearsal_test.py | ||
| mobile_relay_auth_approvals_proof.py | ||
| mobile_relay_auth_approvals_proof_test.py | ||
| msp_provider_tenant_management_rehearsal.py | ||
| msp_provider_tenant_management_rehearsal_test.py | ||
| paid_feature_claims_proof.py | ||
| paid_feature_claims_proof_test.py | ||
| record_rc_to_ga_rehearsal.py | ||
| record_rc_to_ga_rehearsal_test.py | ||
| relay_registration_reconnect_drain_proof.py | ||
| relay_registration_reconnect_drain_proof_test.py | ||
| resolve_release_promotion.py | ||
| resolve_release_promotion_test.py | ||
| unified_agent_rc_rehearsal.py | ||
| unified_agent_rc_rehearsal_test.py | ||
| verify_commit_slice.py | ||
| verify_commit_slice_test.py | ||
| work_claim.py | ||
| work_claim_test.py | ||
| worktree_base.py | ||
| worktree_base_test.py | ||
| worktree_claim.py | ||
| worktree_claim_test.py | ||
| worktree_finish.py | ||
| worktree_finish_test.py | ||