#define USE_THE_REPOSITORY_VARIABLE #include "builtin.h" #include "abspath.h" #include "config.h" #include "color.h" #include "editor.h" #include "environment.h" #include "gettext.h" #include "ident.h" #include "parse-options.h" #include "urlmatch.h" #include "path.h" #include "quote.h" #include "setup.h" #include "strbuf.h" #include "worktree.h" static const char *const builtin_config_usage[] = …; static const char *const builtin_config_list_usage[] = …; static const char *const builtin_config_get_usage[] = …; static const char *const builtin_config_set_usage[] = …; static const char *const builtin_config_unset_usage[] = …; static const char *const builtin_config_rename_section_usage[] = …; static const char *const builtin_config_remove_section_usage[] = …; static const char *const builtin_config_edit_usage[] = …; #define CONFIG_LOCATION_OPTIONS(opts) … struct config_location_options { … }; #define CONFIG_LOCATION_OPTIONS_INIT … #define CONFIG_TYPE_OPTIONS(type) … #define CONFIG_DISPLAY_OPTIONS(opts) … struct config_display_options { … }; #define CONFIG_DISPLAY_OPTIONS_INIT … #define TYPE_BOOL … #define TYPE_INT … #define TYPE_BOOL_OR_INT … #define TYPE_PATH … #define TYPE_EXPIRY_DATE … #define TYPE_COLOR … #define TYPE_BOOL_OR_STR … #define OPT_CALLBACK_VALUE(s, l, v, h, i) … static int option_parse_type(const struct option *opt, const char *arg, int unset) { … } static void check_argc(int argc, int min, int max) { … } static void show_config_origin(const struct config_display_options *opts, const struct key_value_info *kvi, struct strbuf *buf) { … } static void show_config_scope(const struct config_display_options *opts, const struct key_value_info *kvi, struct strbuf *buf) { … } static int show_all_config(const char *key_, const char *value_, const struct config_context *ctx, void *cb) { … } struct strbuf_list { … }; static int format_config(const struct config_display_options *opts, struct strbuf *buf, const char *key_, const char *value_, const struct key_value_info *kvi) { … } #define GET_VALUE_ALL … #define GET_VALUE_KEY_REGEXP … struct collect_config_data { … }; static int collect_config(const char *key_, const char *value_, const struct config_context *ctx, void *cb) { … } static int get_value(const struct config_location_options *opts, const struct config_display_options *display_opts, const char *key_, const char *regex_, unsigned get_value_flags, unsigned flags) { … } static char *normalize_value(const char *key, const char *value, int type, struct key_value_info *kvi) { … } struct get_color_config_data { … }; static int git_get_color_config(const char *var, const char *value, const struct config_context *ctx UNUSED, void *cb) { … } static void get_color(const struct config_location_options *opts, const char *var, const char *def_color) { … } struct get_colorbool_config_data { … }; static int git_get_colorbool_config(const char *var, const char *value, const struct config_context *ctx UNUSED, void *cb) { … } static int get_colorbool(const struct config_location_options *opts, const char *var, int print) { … } static void check_write(const struct git_config_source *source) { … } struct urlmatch_current_candidate_value { … }; static int urlmatch_collect_fn(const char *var, const char *value, const struct config_context *ctx, void *cb) { … } static int get_urlmatch(const struct config_location_options *opts, const struct config_display_options *_display_opts, const char *var, const char *url) { … } static char *default_user_config(void) { … } static void location_options_init(struct config_location_options *opts, const char *prefix) { … } static void location_options_release(struct config_location_options *opts) { … } static void display_options_init(struct config_display_options *opts) { … } static int cmd_config_list(int argc, const char **argv, const char *prefix) { … } static int cmd_config_get(int argc, const char **argv, const char *prefix) { … } static int cmd_config_set(int argc, const char **argv, const char *prefix) { … } static int cmd_config_unset(int argc, const char **argv, const char *prefix) { … } static int cmd_config_rename_section(int argc, const char **argv, const char *prefix) { … } static int cmd_config_remove_section(int argc, const char **argv, const char *prefix) { … } static int show_editor(struct config_location_options *opts) { … } static int cmd_config_edit(int argc, const char **argv, const char *prefix) { … } static int cmd_config_actions(int argc, const char **argv, const char *prefix) { … } int cmd_config(int argc, const char **argv, const char *prefix, struct repository *repo UNUSED) { … }