mirror of
https://github.com/git/git.git
synced 2026-08-07 08:31:51 +00:00
environment: move autorebase into repo_config_values
The global variable 'autorebase' dictates whether a newly created branch should be configured to automatically rebase by default. Move it into 'struct repo_config_values' to continue the libification effort. The 'enum rebase_setup_type' definition is moved higher up in 'environment.h' so that it is visible to the repository-specific structure. The default state AUTOREBASE_NEVER is now correctly initialized in 'repo_config_values_init()'. Configuration parsing in 'git_default_branch_config()' is updated to write directly to the repository's configuration instance. Mentored-by: Christian Couder <christian.couder@gmail.com> Mentored-by: Ayush Chandekar <ayu.chandekar@gmail.com> Mentored-by: Olamide Caleb Bello <belkid98@gmail.com> Signed-off-by: Tian Yuchen <cat@malon.dev> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
1a6c84e98d
commit
1840ca005f
2
branch.c
2
branch.c
@@ -61,7 +61,7 @@ static int find_tracked_branch(struct remote *remote, void *priv)
|
||||
|
||||
static int should_setup_rebase(const char *origin)
|
||||
{
|
||||
switch (autorebase) {
|
||||
switch (repo_config_values(the_repository)->autorebase) {
|
||||
case AUTOREBASE_NEVER:
|
||||
return 0;
|
||||
case AUTOREBASE_LOCAL:
|
||||
|
||||
@@ -57,7 +57,6 @@ enum auto_crlf auto_crlf = AUTO_CRLF_FALSE;
|
||||
enum eol core_eol = EOL_UNSET;
|
||||
int global_conv_flags_eol = CONV_EOL_RNDTRP_WARN;
|
||||
char *check_roundtrip_encoding;
|
||||
enum rebase_setup_type autorebase = AUTOREBASE_NEVER;
|
||||
#ifndef OBJECT_CREATION_MODE
|
||||
#define OBJECT_CREATION_MODE OBJECT_CREATION_USES_HARDLINKS
|
||||
#endif
|
||||
@@ -601,13 +600,13 @@ static int git_default_branch_config(const char *var, const char *value)
|
||||
if (!value)
|
||||
return config_error_nonbool(var);
|
||||
else if (!strcmp(value, "never"))
|
||||
autorebase = AUTOREBASE_NEVER;
|
||||
cfg->autorebase = AUTOREBASE_NEVER;
|
||||
else if (!strcmp(value, "local"))
|
||||
autorebase = AUTOREBASE_LOCAL;
|
||||
cfg->autorebase = AUTOREBASE_LOCAL;
|
||||
else if (!strcmp(value, "remote"))
|
||||
autorebase = AUTOREBASE_REMOTE;
|
||||
cfg->autorebase = AUTOREBASE_REMOTE;
|
||||
else if (!strcmp(value, "always"))
|
||||
autorebase = AUTOREBASE_ALWAYS;
|
||||
cfg->autorebase = AUTOREBASE_ALWAYS;
|
||||
else
|
||||
return error(_("malformed value for %s"), var);
|
||||
return 0;
|
||||
@@ -728,6 +727,7 @@ void repo_config_values_init(struct repo_config_values *cfg)
|
||||
cfg->apply_default_whitespace = NULL;
|
||||
cfg->apply_default_ignorewhitespace = NULL;
|
||||
cfg->push_default = PUSH_DEFAULT_UNSPECIFIED;
|
||||
cfg->autorebase = AUTOREBASE_NEVER;
|
||||
cfg->apply_sparse_checkout = 0;
|
||||
cfg->branch_track = BRANCH_TRACK_REMOTE;
|
||||
cfg->trust_ctime = 1;
|
||||
|
||||
@@ -102,6 +102,13 @@ enum push_default_type {
|
||||
PUSH_DEFAULT_UNSPECIFIED
|
||||
};
|
||||
|
||||
enum rebase_setup_type {
|
||||
AUTOREBASE_NEVER = 0,
|
||||
AUTOREBASE_LOCAL,
|
||||
AUTOREBASE_REMOTE,
|
||||
AUTOREBASE_ALWAYS
|
||||
};
|
||||
|
||||
struct repo_config_values {
|
||||
/* section "core" config values */
|
||||
char *attributes_file;
|
||||
@@ -112,6 +119,7 @@ struct repo_config_values {
|
||||
char *apply_default_whitespace;
|
||||
char *apply_default_ignorewhitespace;
|
||||
enum push_default_type push_default;
|
||||
enum rebase_setup_type autorebase;
|
||||
int apply_sparse_checkout;
|
||||
int trust_ctime;
|
||||
int check_stat;
|
||||
@@ -205,14 +213,6 @@ extern unsigned long pack_size_limit_cfg;
|
||||
extern int protect_hfs;
|
||||
extern int protect_ntfs;
|
||||
|
||||
enum rebase_setup_type {
|
||||
AUTOREBASE_NEVER = 0,
|
||||
AUTOREBASE_LOCAL,
|
||||
AUTOREBASE_REMOTE,
|
||||
AUTOREBASE_ALWAYS
|
||||
};
|
||||
extern enum rebase_setup_type autorebase;
|
||||
|
||||
enum object_creation_mode {
|
||||
OBJECT_CREATION_USES_HARDLINKS = 0,
|
||||
OBJECT_CREATION_USES_RENAMES = 1
|
||||
|
||||
Reference in New Issue
Block a user