Tom Boucher
294564b951
fix( #2916 ): branch new phases off origin/HEAD instead of current HEAD
...
handle_branching in execute-phase.md (and the equivalent step in quick.md)
created the per-phase branch from whatever branch happened to be checked
out — typically the previous phase's still-unmerged feature branch — so
consecutive phases compounded on top of each other and stayed unpushed.
Detect the default branch via git symbolic-ref refs/remotes/origin/HEAD,
fast-forward it from origin, and fork the new phase branch off that tip.
Existing branches are still reused as-is. Dirty working trees fall back
to current HEAD with a loud warning, and a post-creation guard reports
any inherited commits.
Regression test extracts the bash from the <step name="handle_branching">
block structurally and runs it against a fixture repo where HEAD sits on
a previous-phase branch with extra commits.
2026-04-30 17:30:52 -04:00
..
2026-04-26 13:33:35 -04:00
2026-04-27 12:31:32 -04:00
2026-04-25 10:59:33 -04:00
2026-04-25 10:59:33 -04:00
2026-04-27 12:31:43 -04:00
2026-04-25 10:59:33 -04:00
2026-04-25 10:59:33 -04:00
2026-04-26 13:33:35 -04:00
2026-04-26 13:33:35 -04:00
2026-04-25 10:59:33 -04:00
2026-04-30 00:43:47 -04:00
2026-04-27 12:31:43 -04:00
2026-04-27 12:31:43 -04:00
2026-04-26 13:33:35 -04:00
2026-04-26 13:33:35 -04:00
2026-04-27 12:31:43 -04:00
2026-04-27 12:31:43 -04:00
2026-04-25 10:59:33 -04:00
2026-04-27 12:31:43 -04:00
2026-04-25 10:59:33 -04:00
2026-04-27 12:31:43 -04:00
2026-04-25 10:59:33 -04:00
2026-04-26 13:33:35 -04:00
2026-04-26 13:33:52 -04:00
2026-04-25 10:59:33 -04:00
2026-04-30 17:30:52 -04:00
2026-04-27 12:31:43 -04:00
2026-04-27 12:31:43 -04:00
2026-04-25 10:59:33 -04:00
2026-04-25 10:59:33 -04:00
2026-04-25 16:47:55 -04:00
2026-04-20 18:21:35 -04:00
2026-04-30 01:04:41 -04:00
2026-04-29 08:00:17 -04:00
2026-04-27 12:31:43 -04:00
2026-04-25 10:59:33 -04:00
2026-04-29 21:52:20 -04:00
2026-04-25 10:59:33 -04:00
2026-04-25 10:59:33 -04:00
2026-04-25 10:59:33 -04:00
2026-04-26 13:33:35 -04:00
2026-04-27 12:31:43 -04:00
2026-04-27 12:31:43 -04:00
2026-04-27 12:31:43 -04:00
2026-04-27 12:31:43 -04:00
2026-04-25 10:59:33 -04:00
2026-04-25 10:59:33 -04:00
2026-03-12 11:35:45 -06:00
2026-04-25 10:59:33 -04:00
2026-04-27 12:31:43 -04:00
2026-04-27 12:31:43 -04:00
2026-04-29 21:52:20 -04:00
2026-04-25 14:18:34 -04:00
2026-04-27 12:31:43 -04:00
2026-04-25 10:59:33 -04:00
2026-04-25 10:59:33 -04:00
2026-04-25 10:59:33 -04:00
2026-04-30 17:30:52 -04:00
2026-04-30 00:43:47 -04:00
2026-04-27 12:31:43 -04:00
2026-04-25 10:59:33 -04:00
2026-04-26 13:33:35 -04:00
2026-04-25 10:59:33 -04:00
2026-04-27 12:31:43 -04:00
2026-04-26 13:33:35 -04:00
2026-04-26 13:33:35 -04:00
2026-04-25 10:59:33 -04:00
2026-04-26 13:33:54 -04:00
2026-04-25 10:59:33 -04:00
2026-04-25 10:59:33 -04:00
2026-04-27 12:31:43 -04:00
2026-04-27 12:31:43 -04:00
2026-04-27 12:31:43 -04:00
2026-04-25 10:59:33 -04:00
2026-04-27 12:31:43 -04:00
2026-04-27 12:31:43 -04:00
2026-04-25 10:59:33 -04:00
2026-04-25 10:59:33 -04:00
2026-04-25 10:59:33 -04:00
2026-04-27 12:31:43 -04:00
2026-04-27 12:31:43 -04:00
2026-04-25 10:59:33 -04:00
2026-04-25 10:59:33 -04:00
2026-04-30 00:43:47 -04:00
2026-04-26 13:33:35 -04:00
2026-04-23 00:26:53 -04:00
2026-04-27 12:31:43 -04:00