mirror of
https://github.com/libgit2/libgit2.git
synced 2026-01-25 02:56:17 +00:00
checkout: change default strategy to SAFE
As per #4200, our default is quite surprising to users that expect checkout to just "do the thing".
This commit is contained in:
@@ -9,6 +9,8 @@ v0.27 + 1
|
||||
|
||||
### Breaking API changes
|
||||
|
||||
* The default checkout strategy changed from `DRY_RUN` to `SAFE` (#4531).
|
||||
|
||||
v0.27
|
||||
---------
|
||||
|
||||
|
||||
@@ -251,7 +251,7 @@ typedef void (*git_checkout_perfdata_cb)(
|
||||
typedef struct git_checkout_options {
|
||||
unsigned int version;
|
||||
|
||||
unsigned int checkout_strategy; /**< default will be a dry run */
|
||||
unsigned int checkout_strategy; /**< default will be a safe checkout */
|
||||
|
||||
int disable_filters; /**< don't apply filters like CRLF conversion */
|
||||
unsigned int dir_mode; /**< default is 0755 */
|
||||
@@ -295,7 +295,7 @@ typedef struct git_checkout_options {
|
||||
} git_checkout_options;
|
||||
|
||||
#define GIT_CHECKOUT_OPTIONS_VERSION 1
|
||||
#define GIT_CHECKOUT_OPTIONS_INIT {GIT_CHECKOUT_OPTIONS_VERSION}
|
||||
#define GIT_CHECKOUT_OPTIONS_INIT {GIT_CHECKOUT_OPTIONS_VERSION, GIT_CHECKOUT_SAFE}
|
||||
|
||||
/**
|
||||
* Initializes a `git_checkout_options` with default values. Equivalent to
|
||||
|
||||
@@ -275,9 +275,6 @@ static int rebase_alloc(git_rebase **out, const git_rebase_options *rebase_opts)
|
||||
GITERR_CHECK_ALLOC(rebase->options.rewrite_notes_ref);
|
||||
}
|
||||
|
||||
if ((rebase->options.checkout_options.checkout_strategy & (GIT_CHECKOUT_SAFE | GIT_CHECKOUT_FORCE)) == 0)
|
||||
rebase->options.checkout_options.checkout_strategy = GIT_CHECKOUT_SAFE;
|
||||
|
||||
*out = rebase;
|
||||
|
||||
return 0;
|
||||
|
||||
@@ -738,9 +738,6 @@ static void normalize_apply_options(
|
||||
memcpy(opts, &default_apply_opts, sizeof(git_stash_apply_options));
|
||||
}
|
||||
|
||||
if ((opts->checkout_options.checkout_strategy & (GIT_CHECKOUT_SAFE | GIT_CHECKOUT_FORCE)) == 0)
|
||||
opts->checkout_options.checkout_strategy = GIT_CHECKOUT_SAFE;
|
||||
|
||||
if (!opts->checkout_options.our_label)
|
||||
opts->checkout_options.our_label = "Updated upstream";
|
||||
|
||||
|
||||
Reference in New Issue
Block a user