Skip to content

docs(dev): merge policy + stacked-PR hygiene#3653

Merged
mabry1985 merged 1 commit into
mainfrom
docs/merge-policy-and-stacking
May 24, 2026
Merged

docs(dev): merge policy + stacked-PR hygiene#3653
mabry1985 merged 1 commit into
mainfrom
docs/merge-policy-and-stacking

Conversation

@mabry1985
Copy link
Copy Markdown
Contributor

Companion to `docs/dev/git-workflow.md`. Codifies the merge-button rule we just rolled out on protoMaker (squash for one-offs, merge commit for stacked PRs) and the local git config + stacking habits that keep rebases from fighting back.

Page outline

  • TL;DR — the rule, in one table
  • Why this changed (squash + stacked PRs = rebase pain)
  • How to recognize a stacked PR (read the "into ..." text on the PR header)
  • Local git config: `rebase.updateRefs = true`
  • Stack hygiene (don't auto-merge until the stack stops moving; rebase the bottom first)
  • Reading the resulting history (`git log --first-parent main`)
  • Repo settings (admin reference for applying to other repos)
  • FAQ
  • Rollout checklist

Repo settings already applied to protoMaker

Setting Value
`allow_merge_commit` true
`allow_squash_merge` true
`allow_rebase_merge` true
`merge_commit_title` `PR_TITLE`
`merge_commit_message` `PR_BODY`
`main` ruleset `required_linear_history` not present (good)

Cross-links

  • Added a back-link from `git-workflow.md` → `merge-policy.md` in the "Learn More" section so the page is discoverable from the existing git workflow doc.

🤖 Generated with Claude Code

Companion to docs/dev/git-workflow.md. Codifies the merge-button rule
we just rolled out on protoMaker (squash for one-offs, merge commit
for stacked PRs) and the local git config + stacking habits that
keep rebases from fighting back.

Repo settings already in line with this guidance:
- allow_merge_commit=true, allow_squash_merge=true, allow_rebase_merge=true
- merge_commit_title=PR_TITLE, merge_commit_message=PR_BODY
- main ruleset: required_linear_history NOT set

Adds back-link from git-workflow.md → merge-policy.md.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@mabry1985 mabry1985 enabled auto-merge (squash) May 24, 2026 06:54
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 24, 2026

Warning

Review limit reached

@mabry1985, we couldn't start this review because you've used your available PR reviews for now.

Your plan currently allows 6 reviews/hour. Refill in 7 minutes and 57 seconds.

Your organization has run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After more review capacity refills, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than trial, open-source, and free plans. In all cases, review capacity refills continuously over time.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: ec505c73-c106-448a-8a95-0d7f27948b0d

📥 Commits

Reviewing files that changed from the base of the PR and between 33d4ab7 and 7b63b35.

📒 Files selected for processing (2)
  • docs/dev/git-workflow.md
  • docs/dev/merge-policy.md
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/merge-policy-and-stacking

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link
Copy Markdown
Contributor

Code Review — ? finding(s)

Async review running parallel to CodeRabbit. Findings are advisory; not all are merge blockers.

protoLabs Code Review Report

  • Generated: 2026-05-24T06:54:58Z
  • Git head: de83f81c00116c4e9ba34871f054f713b9adbe7f
  • Features mapped: 3
  • Findings: 0

No findings recorded.

@github-actions
Copy link
Copy Markdown
Contributor

@mabry1985 mabry1985 merged commit c3714df into main May 24, 2026
8 checks passed
@mabry1985 mabry1985 deleted the docs/merge-policy-and-stacking branch May 24, 2026 06:56
mabry1985 pushed a commit that referenced this pull request May 24, 2026
Adds a "Don't squash-merge a parent PR while children are still open"
section to Stack hygiene. We hit this in the same session shipping
the #3597 stack: squash-merging the parent PR collapsed the head
branch (delete_branch_on_merge: true on this repo) and the child PR
refused to render with "Base ref must be a branch".

Two recovery paths documented:
1. Preferred — keep "Create a merge commit" for stacked parents (the
   policy default already; this PR makes the failure mode explicit).
2. If you've already squash-merged — rebase the child onto main and
   re-target. Calls out the HEAD-vs-branch-name detached-HEAD trap on
   `git rebase --onto X Y Z`.

Follow-up to PR #3653.
mabry1985 added a commit that referenced this pull request May 24, 2026
Adds a "Don't squash-merge a parent PR while children are still open"
section to Stack hygiene. We hit this in the same session shipping
the #3597 stack: squash-merging the parent PR collapsed the head
branch (delete_branch_on_merge: true on this repo) and the child PR
refused to render with "Base ref must be a branch".

Two recovery paths documented:
1. Preferred — keep "Create a merge commit" for stacked parents (the
   policy default already; this PR makes the failure mode explicit).
2. If you've already squash-merged — rebase the child onto main and
   re-target. Calls out the HEAD-vs-branch-name detached-HEAD trap on
   `git rebase --onto X Y Z`.

Follow-up to PR #3653.

Co-authored-by: Automaker <automaker@localhost>
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