Control prechecks, implement fork #266
Merged
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.
This PR implements a new ControlPrecheck phase on the VCS abstraction.
Before applying the controls, the CLI will do a "preflight" check to see if the controls can be enabled. VCS backends may provide a function to remediate any missing prerequisites.
These prechecks are now called by the CLI before attempting to enable controls on the VCS system.
Using this new mechanism the GitHub backend now checks if the user needs a fork of their own repository before attempting to open a pull request. If the fork is required, sourcetool now asks the user if they want to create it and then open the PR:
Fixes #264