зеркало из https://github.com/microsoft/git.git
Make git_status_config() file scope static to builtin-commit.c
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
23900a9646
Коммит
f766b36783
|
@ -826,6 +826,66 @@ static int dry_run_commit(int argc, const char **argv, const char *prefix,
|
|||
return commitable ? 0 : 1;
|
||||
}
|
||||
|
||||
static int parse_status_slot(const char *var, int offset)
|
||||
{
|
||||
if (!strcasecmp(var+offset, "header"))
|
||||
return WT_STATUS_HEADER;
|
||||
if (!strcasecmp(var+offset, "updated")
|
||||
|| !strcasecmp(var+offset, "added"))
|
||||
return WT_STATUS_UPDATED;
|
||||
if (!strcasecmp(var+offset, "changed"))
|
||||
return WT_STATUS_CHANGED;
|
||||
if (!strcasecmp(var+offset, "untracked"))
|
||||
return WT_STATUS_UNTRACKED;
|
||||
if (!strcasecmp(var+offset, "nobranch"))
|
||||
return WT_STATUS_NOBRANCH;
|
||||
if (!strcasecmp(var+offset, "unmerged"))
|
||||
return WT_STATUS_UNMERGED;
|
||||
die("bad config variable '%s'", var);
|
||||
}
|
||||
|
||||
static int git_status_config(const char *k, const char *v, void *cb)
|
||||
{
|
||||
struct wt_status *s = cb;
|
||||
|
||||
if (!strcmp(k, "status.submodulesummary")) {
|
||||
int is_bool;
|
||||
s->submodule_summary = git_config_bool_or_int(k, v, &is_bool);
|
||||
if (is_bool && s->submodule_summary)
|
||||
s->submodule_summary = -1;
|
||||
return 0;
|
||||
}
|
||||
if (!strcmp(k, "status.color") || !strcmp(k, "color.status")) {
|
||||
s->use_color = git_config_colorbool(k, v, -1);
|
||||
return 0;
|
||||
}
|
||||
if (!prefixcmp(k, "status.color.") || !prefixcmp(k, "color.status.")) {
|
||||
int slot = parse_status_slot(k, 13);
|
||||
if (!v)
|
||||
return config_error_nonbool(k);
|
||||
color_parse(v, k, s->color_palette[slot]);
|
||||
return 0;
|
||||
}
|
||||
if (!strcmp(k, "status.relativepaths")) {
|
||||
s->relative_paths = git_config_bool(k, v);
|
||||
return 0;
|
||||
}
|
||||
if (!strcmp(k, "status.showuntrackedfiles")) {
|
||||
if (!v)
|
||||
return config_error_nonbool(k);
|
||||
else if (!strcmp(v, "no"))
|
||||
s->show_untracked_files = SHOW_NO_UNTRACKED_FILES;
|
||||
else if (!strcmp(v, "normal"))
|
||||
s->show_untracked_files = SHOW_NORMAL_UNTRACKED_FILES;
|
||||
else if (!strcmp(v, "all"))
|
||||
s->show_untracked_files = SHOW_ALL_UNTRACKED_FILES;
|
||||
else
|
||||
return error("Invalid untracked files mode '%s'", v);
|
||||
return 0;
|
||||
}
|
||||
return git_diff_ui_config(k, v, NULL);
|
||||
}
|
||||
|
||||
int cmd_status(int argc, const char **argv, const char *prefix)
|
||||
{
|
||||
struct wt_status s;
|
||||
|
|
60
wt-status.c
60
wt-status.c
|
@ -19,24 +19,6 @@ static char default_wt_status_colors[][COLOR_MAXLEN] = {
|
|||
GIT_COLOR_RED, /* WT_STATUS_UNMERGED */
|
||||
};
|
||||
|
||||
static int parse_status_slot(const char *var, int offset)
|
||||
{
|
||||
if (!strcasecmp(var+offset, "header"))
|
||||
return WT_STATUS_HEADER;
|
||||
if (!strcasecmp(var+offset, "updated")
|
||||
|| !strcasecmp(var+offset, "added"))
|
||||
return WT_STATUS_UPDATED;
|
||||
if (!strcasecmp(var+offset, "changed"))
|
||||
return WT_STATUS_CHANGED;
|
||||
if (!strcasecmp(var+offset, "untracked"))
|
||||
return WT_STATUS_UNTRACKED;
|
||||
if (!strcasecmp(var+offset, "nobranch"))
|
||||
return WT_STATUS_NOBRANCH;
|
||||
if (!strcasecmp(var+offset, "unmerged"))
|
||||
return WT_STATUS_UNMERGED;
|
||||
die("bad config variable '%s'", var);
|
||||
}
|
||||
|
||||
static const char *color(int slot, struct wt_status *s)
|
||||
{
|
||||
return s->use_color > 0 ? s->color_palette[slot] : "";
|
||||
|
@ -594,45 +576,3 @@ void wt_status_print(struct wt_status *s)
|
|||
printf("nothing to commit (working directory clean)\n");
|
||||
}
|
||||
}
|
||||
|
||||
int git_status_config(const char *k, const char *v, void *cb)
|
||||
{
|
||||
struct wt_status *s = cb;
|
||||
|
||||
if (!strcmp(k, "status.submodulesummary")) {
|
||||
int is_bool;
|
||||
s->submodule_summary = git_config_bool_or_int(k, v, &is_bool);
|
||||
if (is_bool && s->submodule_summary)
|
||||
s->submodule_summary = -1;
|
||||
return 0;
|
||||
}
|
||||
if (!strcmp(k, "status.color") || !strcmp(k, "color.status")) {
|
||||
s->use_color = git_config_colorbool(k, v, -1);
|
||||
return 0;
|
||||
}
|
||||
if (!prefixcmp(k, "status.color.") || !prefixcmp(k, "color.status.")) {
|
||||
int slot = parse_status_slot(k, 13);
|
||||
if (!v)
|
||||
return config_error_nonbool(k);
|
||||
color_parse(v, k, s->color_palette[slot]);
|
||||
return 0;
|
||||
}
|
||||
if (!strcmp(k, "status.relativepaths")) {
|
||||
s->relative_paths = git_config_bool(k, v);
|
||||
return 0;
|
||||
}
|
||||
if (!strcmp(k, "status.showuntrackedfiles")) {
|
||||
if (!v)
|
||||
return config_error_nonbool(k);
|
||||
else if (!strcmp(v, "no"))
|
||||
s->show_untracked_files = SHOW_NO_UNTRACKED_FILES;
|
||||
else if (!strcmp(v, "normal"))
|
||||
s->show_untracked_files = SHOW_NORMAL_UNTRACKED_FILES;
|
||||
else if (!strcmp(v, "all"))
|
||||
s->show_untracked_files = SHOW_ALL_UNTRACKED_FILES;
|
||||
else
|
||||
return error("Invalid untracked files mode '%s'", v);
|
||||
return 0;
|
||||
}
|
||||
return git_diff_ui_config(k, v, NULL);
|
||||
}
|
||||
|
|
|
@ -50,7 +50,6 @@ struct wt_status {
|
|||
struct string_list change;
|
||||
};
|
||||
|
||||
int git_status_config(const char *var, const char *value, void *cb);
|
||||
void wt_status_prepare(struct wt_status *s);
|
||||
void wt_status_print(struct wt_status *s);
|
||||
void wt_status_collect_changes(struct wt_status *s);
|
||||
|
|
Загрузка…
Ссылка в новой задаче