checkout: make safe checkout the default#6037
Merged
Conversation
e9b8db6 to
03bd069
Compare
Member
Author
|
I made some updates to remove the API breaking parts of these changes; this should be ABI breaking only. |
03bd069 to
09a51af
Compare
09a51af to
6f7875b
Compare
54547f1 to
165a748
Compare
Make `GIT_CHECKOUT_SAFE` the default. `NONE` is never what the user wants _by default_; people expect checkout to, well, check things out. Instead, it should be an opt-in "dry run" mode. This removes some odd code in internal callers of `checkout` that takes a `git_checkout_options` and updates the mode to `SAFE`. This is now unnecessary since everything has better defaults.
Instead of dealing with the clone options sub-options (fetch, checkout, etc) individually, treat them as a cohesive whole when passing them throughout the system. Additionally, move some functions around within the file to avoid unnecessary decls at the top of the file. And change a function signature to avoid conflating truth with error.
165a748 to
6955504
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Make
GIT_CHECKOUT_SAFEthe default.NONEis never what the user wants by default; people expect checkout to, well, check things out. Instead, it should be an opt-in "dry run" mode.But, in fact, it should be a dry run and fire notifications. So we keep
DRY_RUNand remove theNONEmode entirely.This removes some odd code in internal callers of
checkoutthat takes agit_checkout_optionsand updates the mode toSAFE. This is now unnecessary since everything has better defaults.