Skip to content

go-live 4/9: replace main's tree with v2 #1817

Description

@cliffhall

Phase 4 of 9 in the v2 go-live runbook — see #1804 (§5). Depends on phase 3. Reversible (no force-push).

Replace main's tree with v2's, preserving main's history.

Tasks

  • Freeze merges to v2/main for the duration; pick a low-traffic window.
  • Retarget all open main PRs to v1/main (will triage later)
  • True merge that takes v2's tree wholesale:
git checkout -b chore/v2-golive main
git merge --no-commit -s ours v2/main     # record v2/main as a parent, keep no tree yet
git rm -rf . && git checkout v2/main -- . # tree becomes exactly v2/main's
git commit
  • Verify git diff main v2/main is empty after merge.
  • Open as a PR against main so the review trail exists; confirm CI is green on main after merge.

Why not git reset --hard v2/main

A reset + force-push looks simpler but discards main's history and requires disabling branch protection on the default branch. The merge above keeps the history, keeps the PR trail, and makes v2/main a merge parent — so main becomes a true superset and v2/main can afterwards be fast-forwarded or retired cleanly.

Metadata

Metadata

Assignees

Labels

v2Issues and PRs for v2

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions