Skip to content

fix(git): restore checkout after update-project-files push flows#60

Merged
MCamner merged 3 commits into
mainfrom
mq/fix-git-menu-smoke-tests
Jul 20, 2026
Merged

fix(git): restore checkout after update-project-files push flows#60
MCamner merged 3 commits into
mainfrom
mq/fix-git-menu-smoke-tests

Conversation

@MCamner

@MCamner MCamner commented Jul 20, 2026

Copy link
Copy Markdown
Owner

Why

The previous regression test exercised the restore helper directly and could also select the real checkout because mq-git-menu.sh assigns CURRENT_REPO when it is sourced. The real protected-push flows could therefore still leave the checkout on an mq/update-project-files-* branch when interrupted.

What Changed

  • restore the base checkout after normal and failed protected-branch pushes
  • handle INT and TERM synchronously in both Git launcher implementations
  • run the regression flow in subprocesses with MQ_GIT_REPO pointing at a disposable repository

Verification

tests/git-restore-to-base-smoke.sh proves restoration after a successful push, a push failure, and TERM. Each scenario ends on main with a clean tree and main matching origin/main.

tools/scripts/test-all.sh passes, including shell lint for 160 files.

@MCamner
MCamner marked this pull request as ready for review July 20, 2026 17:07
@MCamner
MCamner merged commit 338c924 into main Jul 20, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant