Skip to content

Add global defaults for worktree copy flags and merge strategy#199

Merged
sbertix merged 2 commits intomainfrom
sbertix/global-worktree-settings
Apr 1, 2026
Merged

Add global defaults for worktree copy flags and merge strategy#199
sbertix merged 2 commits intomainfrom
sbertix/global-worktree-settings

Conversation

@sbertix
Copy link
Copy Markdown
Collaborator

@sbertix sbertix commented Mar 31, 2026

Summary

  • Promote copyIgnoredOnWorktreeCreate, copyUntrackedOnWorktreeCreate, and pullRequestMergeStrategy from repo-only settings to global defaults with per-repo optional overrides (nil = use global).
  • Add new "Copy ignored/untracked files" toggles in Settings > Worktrees and a "Pull Requests" section with merge strategy picker in Settings > GitHub.
  • Convert per-repo toggles to three-way pickers showing "Global (value)" when defaulting.
  • Fix repo default directory prompt to show the resolved path (including repo name) instead of the generic repos directory.

Test plan

  • Open Settings > Worktrees — verify new copy-ignored and copy-untracked toggles appear.
  • Open Settings > GitHub — verify "Pull Requests" section with merge strategy picker appears after "GitHub CLI".
  • Open Settings > [repo] — verify copy toggles and merge strategy show as pickers with "Global (value)" option.
  • Change global copy-ignored to true, verify repo picker updates to show "Global Yes".
  • Set a repo override to "No", create a worktree, verify the override is respected.
  • Set merge strategy globally to "Squash", verify a repo with "Global" uses squash when merging.
  • Verify existing repos with previously saved settings retain their explicit values.
  • Verify the repo default directory prompt shows the resolved path (e.g. ~/.supacode/repos/my-repo/).

Closes #144

sbertix added 2 commits March 31, 2026 14:28
Promote copyIgnoredOnWorktreeCreate, copyUntrackedOnWorktreeCreate,
and pullRequestMergeStrategy from repo-only settings to global
defaults with per-repo optional overrides (nil = use global).
Show the actual default worktree base directory for the specific
repository (including global default + repo name) instead of the
generic repos directory.
@sbertix sbertix requested a review from khoi March 31, 2026 16:14
@sbertix sbertix merged commit c29ee5a into main Apr 1, 2026
1 check passed
@sbertix sbertix deleted the sbertix/global-worktree-settings branch April 1, 2026 14:38
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.

Global copy settings

2 participants