You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: configurable merge method for /land-and-deploy
Three-tier merge method resolution:
1. User config override (gstack-config set merge_method merge)
2. Auto-detect from GitHub repo settings via API
3. Default to squash (unchanged behavior)
/land-and-deploy now queries the repo's allowed merge methods via
gh api repos/{owner}/{repo}. If only one method is enabled, it uses
that. If multiple are allowed, it picks squash as the default.
Users can override with: gstack-config set merge_method merge
/setup-deploy now persists the merge method to both CLAUDE.md and
gstack-config so /land-and-deploy picks it up automatically.
This fixes the disconnect where the UI said '(from repo settings)'
but nothing actually queried repo settings. The --auto flag still
takes first priority (respects repo settings + merge queues), but
the direct fallback is now configurable instead of hardcoded.
If direct merge succeeds: record `MERGE_PATH=direct`. Tell the user: "PR merged successfully (via ${_MERGE_METHOD}). The branch has been cleaned up."
1074
1145
1075
1146
If the merge fails with a permission error: **STOP.** "I don't have permission to merge this PR. You'll need a maintainer to merge it, or check your repo's branch protection rules."
If direct merge succeeds: record `MERGE_PATH=direct`. Tell the user: "PR merged successfully (via ${_MERGE_METHOD}). The branch has been cleaned up."
567
638
568
639
If the merge fails with a permission error: **STOP.** "I don't have permission to merge this PR. You'll need a maintainer to merge it, or check your repo's branch protection rules."
0 commit comments