-
Notifications
You must be signed in to change notification settings - Fork 16
Open
Labels
bitbucketBitBucket VCS integrationBitBucket VCS integrationtech-debtTechnical debt that should be addressedTechnical debt that should be addressed
Description
Problem
Currently, BitBucket users must configure both versionControl.provider: 'bitbucket' and mergeBehavior.mode: 'bitbucket-pr' separately. This creates a confusing UX where the VCS provider and merge behavior are decoupled even though they're logically linked.
Additionally, bitbucket-pr being a separate merge mode creates code complexity:
- Every conditional that checks merge modes must enumerate
github-pr,github-draft-pr, ANDbitbucket-pr - Adding new VCS providers means adding more mode strings
- The
finish.tscommand has three near-duplicate PR workflow paths
Desired Behavior
Setting versionControl.provider: 'bitbucket' should be sufficient. The merge behavior should auto-detect:
- If VCS is
bitbucketand mode isgithub-prorgithub-draft-pr→ warn and usebitbucket-pr(or a genericprmode) - Ideally, merge modes would be
local,pr,draft-prand the system routes to the correct VCS provider automatically - BitBucket doesn't support draft PRs natively, so
draft-prwith BitBucket would either error clearly or fall back to regular PR with a note
Scope
This is a larger refactoring that would:
- Introduce generic merge modes (
local,pr,draft-pr) that are VCS-agnostic - Route PR operations through
VersionControlProviderinterface for all providers (including GitHub) - Unify the three PR workflow paths in
finish.tsinto one - Deprecate provider-specific mode strings (
github-pr,github-draft-pr,bitbucket-pr) with backward compatibility
Related
- PR feat: add BitBucket integration for pull request management #609 — initial BitBucket integration
- Issue EPIC: Complete BitBucket VCS abstraction — eliminate GitHub-specific assumptions #690 — EPIC: Complete BitBucket VCS abstraction
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bitbucketBitBucket VCS integrationBitBucket VCS integrationtech-debtTechnical debt that should be addressedTechnical debt that should be addressed
Type
Projects
Status
No status