feat: create pull requests for solution merges #61
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Purpose
Currently, solution merges can only be pushed directly to a branch named 'master'. This is a problem because:
Resolves #35, resolves #31, resolves #25.
Approach
Introduces two new configuration tables - Projects and Repositories. When configuring a repository, it's now possible to specify a Source Control Strategy of either Push or Pull request. It's also possible to configure a target branch e.g. 'master', 'main', 'develop' etc.
A source control strategy of Push will behave similarly to older versions of the Development Hub with one exception - the solution merge will only go to a status of Merged when the commit is in source control. Previously, the solution merge would go to a status of Merged when a new Solution Version record was created with the post-merge unmanaged and managed zips attached. Solution versions have been removed as part of this commit in favour of the source control based approach.
A source control strategy of Pull request will go from a status of Merging to a status of Awaiting PR Merge. When a solution merge reaches this status, a pull request will have been automatically created for the solution merge. It will reach a status of Merged when this pull request has been completed.
TODOs