* fix(config): validate sync-branch at config time Add sync-branch validation to validateYamlConfigValue() to reject main/master at config time, preventing the validation bypass in GH#1166. - Add case for sync-branch and sync.branch keys - Inline validation logic to avoid import cycle (config <-> syncbranch) - Add unit tests for rejection (main/master) and acceptance (valid names) Part of: #1166 * fix(sync): add runtime guard for sync-branch == current-branch Add dynamic runtime check before worktree operations to catch cases where sync-branch matches the current branch. This provides defense in depth for manual YAML edits, pre-fix configs, or non-main/master branch names (trunk, develop, production, etc.). - Check IsSyncBranchSameAsCurrent() after hasSyncBranchConfig is set - Position check BEFORE worktree entry (CWD changes inside worktree) - Add integration test TestSync_FailsWhenOnSyncBranch Part of: #1166 * docs: note main/master restriction in sync-branch FAQ Clarifies that git worktrees cannot checkout the same branch in multiple locations, so main/master cannot be used as sync branch.
This commit is contained in:
committed by
GitHub
parent
4fffdb7fae
commit
2cbf3a5497
@@ -426,7 +426,7 @@ No! This is a pure git solution that works on any platform. Just protect your `m
|
||||
|
||||
### Can I use a different branch name?
|
||||
|
||||
Yes! Use any branch name you want:
|
||||
Yes! Use any branch name except `main` or `master` (git worktrees cannot checkout the same branch in multiple locations):
|
||||
|
||||
```bash
|
||||
bd init --branch my-custom-branch
|
||||
|
||||
Reference in New Issue
Block a user