Skip to content

Commit

Permalink
Merge branch 'js/config-cb'
Browse files Browse the repository at this point in the history
* js/config-cb:
  Provide git_config with a callback-data parameter

Conflicts:

	builtin-add.c
	builtin-cat-file.c
  • Loading branch information
gitster committed May 25, 2008
2 parents 450c5ae + ef90d6d commit 9bd81e4
Show file tree
Hide file tree
Showing 75 changed files with 179 additions and 176 deletions.
5 changes: 3 additions & 2 deletions alias.c
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@


static const char *alias_key; static const char *alias_key;
static char *alias_val; static char *alias_val;
static int alias_lookup_cb(const char *k, const char *v)
static int alias_lookup_cb(const char *k, const char *v, void *cb)
{ {
if (!prefixcmp(k, "alias.") && !strcmp(k+6, alias_key)) { if (!prefixcmp(k, "alias.") && !strcmp(k+6, alias_key)) {
if (!v) if (!v)
Expand All @@ -17,6 +18,6 @@ char *alias_lookup(const char *alias)
{ {
alias_key = alias; alias_key = alias;
alias_val = NULL; alias_val = NULL;
git_config(alias_lookup_cb); git_config(alias_lookup_cb, NULL);
return alias_val; return alias_val;
} }
6 changes: 3 additions & 3 deletions archive-tar.c
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -220,7 +220,7 @@ static void write_global_extended_header(const unsigned char *sha1)
strbuf_release(&ext_header); strbuf_release(&ext_header);
} }


static int git_tar_config(const char *var, const char *value) static int git_tar_config(const char *var, const char *value, void *cb)
{ {
if (!strcmp(var, "tar.umask")) { if (!strcmp(var, "tar.umask")) {
if (value && !strcmp(value, "user")) { if (value && !strcmp(value, "user")) {
Expand All @@ -231,7 +231,7 @@ static int git_tar_config(const char *var, const char *value)
} }
return 0; return 0;
} }
return git_default_config(var, value); return git_default_config(var, value, cb);
} }


static int write_tar_entry(const unsigned char *sha1, static int write_tar_entry(const unsigned char *sha1,
Expand Down Expand Up @@ -268,7 +268,7 @@ int write_tar_archive(struct archiver_args *args)
{ {
int plen = args->base ? strlen(args->base) : 0; int plen = args->base ? strlen(args->base) : 0;


git_config(git_tar_config); git_config(git_tar_config, NULL);


archive_time = args->time; archive_time = args->time;
verbose = args->verbose; verbose = args->verbose;
Expand Down
6 changes: 3 additions & 3 deletions builtin-add.c
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -207,13 +207,13 @@ static struct option builtin_add_options[] = {
OPT_END(), OPT_END(),
}; };


static int add_config(const char *var, const char *value) static int add_config(const char *var, const char *value, void *cb)
{ {
if (!strcasecmp(var, "add.ignore-errors")) { if (!strcasecmp(var, "add.ignore-errors")) {
ignore_add_errors = git_config_bool(var, value); ignore_add_errors = git_config_bool(var, value);
return 0; return 0;
} }
return git_default_config(var, value); return git_default_config(var, value, cb);
} }


int cmd_add(int argc, const char **argv, const char *prefix) int cmd_add(int argc, const char **argv, const char *prefix)
Expand All @@ -231,7 +231,7 @@ int cmd_add(int argc, const char **argv, const char *prefix)
if (add_interactive) if (add_interactive)
exit(interactive_add(argc, argv, prefix)); exit(interactive_add(argc, argv, prefix));


git_config(add_config); git_config(add_config, NULL);


newfd = hold_locked_index(&lock_file, 1); newfd = hold_locked_index(&lock_file, 1);


Expand Down
6 changes: 3 additions & 3 deletions builtin-apply.c
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -2985,11 +2985,11 @@ static int apply_patch(int fd, const char *filename, int inaccurate_eof)
return 0; return 0;
} }


static int git_apply_config(const char *var, const char *value) static int git_apply_config(const char *var, const char *value, void *cb)
{ {
if (!strcmp(var, "apply.whitespace")) if (!strcmp(var, "apply.whitespace"))
return git_config_string(&apply_default_whitespace, var, value); return git_config_string(&apply_default_whitespace, var, value);
return git_default_config(var, value); return git_default_config(var, value, cb);
} }




Expand All @@ -3005,7 +3005,7 @@ int cmd_apply(int argc, const char **argv, const char *unused_prefix)


prefix = setup_git_directory_gently(&is_not_gitdir); prefix = setup_git_directory_gently(&is_not_gitdir);
prefix_length = prefix ? strlen(prefix) : 0; prefix_length = prefix ? strlen(prefix) : 0;
git_config(git_apply_config); git_config(git_apply_config, NULL);
if (apply_default_whitespace) if (apply_default_whitespace)
parse_whitespace_option(apply_default_whitespace); parse_whitespace_option(apply_default_whitespace);


Expand Down
6 changes: 3 additions & 3 deletions builtin-blame.c
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -1993,7 +1993,7 @@ static void prepare_blame_range(struct scoreboard *sb,
usage(blame_usage); usage(blame_usage);
} }


static int git_blame_config(const char *var, const char *value) static int git_blame_config(const char *var, const char *value, void *cb)
{ {
if (!strcmp(var, "blame.showroot")) { if (!strcmp(var, "blame.showroot")) {
show_root = git_config_bool(var, value); show_root = git_config_bool(var, value);
Expand All @@ -2003,7 +2003,7 @@ static int git_blame_config(const char *var, const char *value)
blank_boundary = git_config_bool(var, value); blank_boundary = git_config_bool(var, value);
return 0; return 0;
} }
return git_default_config(var, value); return git_default_config(var, value, cb);
} }


static struct commit *fake_working_tree_commit(const char *path, const char *contents_from) static struct commit *fake_working_tree_commit(const char *path, const char *contents_from)
Expand Down Expand Up @@ -2141,7 +2141,7 @@ int cmd_blame(int argc, const char **argv, const char *prefix)


cmd_is_annotate = !strcmp(argv[0], "annotate"); cmd_is_annotate = !strcmp(argv[0], "annotate");


git_config(git_blame_config); git_config(git_blame_config, NULL);
save_commit_buffer = 0; save_commit_buffer = 0;


opt = 0; opt = 0;
Expand Down
6 changes: 3 additions & 3 deletions builtin-branch.c
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ static int parse_branch_color_slot(const char *var, int ofs)
die("bad config variable '%s'", var); die("bad config variable '%s'", var);
} }


static int git_branch_config(const char *var, const char *value) static int git_branch_config(const char *var, const char *value, void *cb)
{ {
if (!strcmp(var, "color.branch")) { if (!strcmp(var, "color.branch")) {
branch_use_color = git_config_colorbool(var, value, -1); branch_use_color = git_config_colorbool(var, value, -1);
Expand All @@ -76,7 +76,7 @@ static int git_branch_config(const char *var, const char *value)
color_parse(value, var, branch_colors[slot]); color_parse(value, var, branch_colors[slot]);
return 0; return 0;
} }
return git_color_default_config(var, value); return git_color_default_config(var, value, cb);
} }


static const char *branch_get_color(enum color_branch ix) static const char *branch_get_color(enum color_branch ix)
Expand Down Expand Up @@ -461,7 +461,7 @@ int cmd_branch(int argc, const char **argv, const char *prefix)
OPT_END(), OPT_END(),
}; };


git_config(git_branch_config); git_config(git_branch_config, NULL);


if (branch_use_color == -1) if (branch_use_color == -1)
branch_use_color = git_use_color_default; branch_use_color = git_use_color_default;
Expand Down
2 changes: 1 addition & 1 deletion builtin-cat-file.c
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -222,7 +222,7 @@ int cmd_cat_file(int argc, const char **argv, const char *prefix)
OPT_END() OPT_END()
}; };


git_config(git_default_config); git_config(git_default_config, NULL);


if (argc != 3 && argc != 2) if (argc != 3 && argc != 2)
usage_with_options(cat_file_usage, options); usage_with_options(cat_file_usage, options);
Expand Down
2 changes: 1 addition & 1 deletion builtin-checkout-index.c
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -166,7 +166,7 @@ int cmd_checkout_index(int argc, const char **argv, const char *prefix)
int read_from_stdin = 0; int read_from_stdin = 0;
int prefix_length; int prefix_length;


git_config(git_default_config); git_config(git_default_config, NULL);
state.base_dir = ""; state.base_dir = "";
prefix_length = prefix ? strlen(prefix) : 0; prefix_length = prefix ? strlen(prefix) : 0;


Expand Down
2 changes: 1 addition & 1 deletion builtin-checkout.c
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -516,7 +516,7 @@ int cmd_checkout(int argc, const char **argv, const char *prefix)
memset(&opts, 0, sizeof(opts)); memset(&opts, 0, sizeof(opts));
memset(&new, 0, sizeof(new)); memset(&new, 0, sizeof(new));


git_config(git_default_config); git_config(git_default_config, NULL);


opts.track = git_branch_track; opts.track = git_branch_track;


Expand Down
6 changes: 3 additions & 3 deletions builtin-clean.c
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -19,11 +19,11 @@ static const char *const builtin_clean_usage[] = {
NULL NULL
}; };


static int git_clean_config(const char *var, const char *value) static int git_clean_config(const char *var, const char *value, void *cb)
{ {
if (!strcmp(var, "clean.requireforce")) if (!strcmp(var, "clean.requireforce"))
force = !git_config_bool(var, value); force = !git_config_bool(var, value);
return git_default_config(var, value); return git_default_config(var, value, cb);
} }


int cmd_clean(int argc, const char **argv, const char *prefix) int cmd_clean(int argc, const char **argv, const char *prefix)
Expand All @@ -50,7 +50,7 @@ int cmd_clean(int argc, const char **argv, const char *prefix)
OPT_END() OPT_END()
}; };


git_config(git_clean_config); git_config(git_clean_config, NULL);
if (force < 0) if (force < 0)
force = 0; force = 0;
else else
Expand Down
2 changes: 1 addition & 1 deletion builtin-clone.c
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -418,7 +418,7 @@ int cmd_clone(int argc, const char **argv, const char *prefix)
if (option_reference) if (option_reference)
setup_reference(git_dir); setup_reference(git_dir);


git_config(git_default_config); git_config(git_default_config, NULL);


if (option_bare) { if (option_bare) {
strcpy(branch_top, "refs/heads/"); strcpy(branch_top, "refs/heads/");
Expand Down
2 changes: 1 addition & 1 deletion builtin-commit-tree.c
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ int cmd_commit_tree(int argc, const char **argv, const char *prefix)
struct strbuf buffer; struct strbuf buffer;
int encoding_is_utf8; int encoding_is_utf8;


git_config(git_default_config); git_config(git_default_config, NULL);


if (argc < 2) if (argc < 2)
usage(commit_tree_usage); usage(commit_tree_usage);
Expand Down
8 changes: 4 additions & 4 deletions builtin-commit.c
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -806,7 +806,7 @@ int cmd_status(int argc, const char **argv, const char *prefix)
const char *index_file; const char *index_file;
int commitable; int commitable;


git_config(git_status_config); git_config(git_status_config, NULL);


if (wt_status_use_color == -1) if (wt_status_use_color == -1)
wt_status_use_color = git_use_color_default; wt_status_use_color = git_use_color_default;
Expand Down Expand Up @@ -860,7 +860,7 @@ static void print_summary(const char *prefix, const unsigned char *sha1)
} }
} }


int git_commit_config(const char *k, const char *v) int git_commit_config(const char *k, const char *v, void *cb)
{ {
if (!strcmp(k, "commit.template")) { if (!strcmp(k, "commit.template")) {
if (!v) if (!v)
Expand All @@ -869,7 +869,7 @@ int git_commit_config(const char *k, const char *v)
return 0; return 0;
} }


return git_status_config(k, v); return git_status_config(k, v, cb);
} }


static const char commit_utf8_warn[] = static const char commit_utf8_warn[] =
Expand Down Expand Up @@ -897,7 +897,7 @@ int cmd_commit(int argc, const char **argv, const char *prefix)
unsigned char commit_sha1[20]; unsigned char commit_sha1[20];
struct ref_lock *ref_lock; struct ref_lock *ref_lock;


git_config(git_commit_config); git_config(git_commit_config, NULL);


argc = parse_and_validate_options(argc, argv, builtin_commit_usage); argc = parse_and_validate_options(argc, argv, builtin_commit_usage);


Expand Down
26 changes: 14 additions & 12 deletions builtin-config.c
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ static char key_delim = ' ';
static char term = '\n'; static char term = '\n';
static enum { T_RAW, T_INT, T_BOOL, T_BOOL_OR_INT } type = T_RAW; static enum { T_RAW, T_INT, T_BOOL, T_BOOL_OR_INT } type = T_RAW;


static int show_all_config(const char *key_, const char *value_) static int show_all_config(const char *key_, const char *value_, void *cb)
{ {
if (value_) if (value_)
printf("%s%c%s%c", key_, delim, value_, term); printf("%s%c%s%c", key_, delim, value_, term);
Expand All @@ -27,7 +27,7 @@ static int show_all_config(const char *key_, const char *value_)
return 0; return 0;
} }


static int show_config(const char* key_, const char* value_) static int show_config(const char* key_, const char* value_, void *cb)
{ {
char value[256]; char value[256];
const char *vptr = value; const char *vptr = value;
Expand Down Expand Up @@ -121,14 +121,14 @@ static int get_value(const char* key_, const char* regex_)
} }


if (do_all && system_wide) if (do_all && system_wide)
git_config_from_file(show_config, system_wide); git_config_from_file(show_config, system_wide, NULL);
if (do_all && global) if (do_all && global)
git_config_from_file(show_config, global); git_config_from_file(show_config, global, NULL);
git_config_from_file(show_config, local); git_config_from_file(show_config, local, NULL);
if (!do_all && !seen && global) if (!do_all && !seen && global)
git_config_from_file(show_config, global); git_config_from_file(show_config, global, NULL);
if (!do_all && !seen && system_wide) if (!do_all && !seen && system_wide)
git_config_from_file(show_config, system_wide); git_config_from_file(show_config, system_wide, NULL);


free(key); free(key);
if (regexp) { if (regexp) {
Expand Down Expand Up @@ -182,7 +182,7 @@ static int get_color_found;
static const char *get_color_slot; static const char *get_color_slot;
static char parsed_color[COLOR_MAXLEN]; static char parsed_color[COLOR_MAXLEN];


static int git_get_color_config(const char *var, const char *value) static int git_get_color_config(const char *var, const char *value, void *cb)
{ {
if (!strcmp(var, get_color_slot)) { if (!strcmp(var, get_color_slot)) {
if (!value) if (!value)
Expand Down Expand Up @@ -218,7 +218,7 @@ static int get_color(int argc, const char **argv)


get_color_found = 0; get_color_found = 0;
parsed_color[0] = '\0'; parsed_color[0] = '\0';
git_config(git_get_color_config); git_config(git_get_color_config, NULL);


if (!get_color_found && def_color) if (!get_color_found && def_color)
color_parse(def_color, "command line", parsed_color); color_parse(def_color, "command line", parsed_color);
Expand All @@ -230,7 +230,8 @@ static int get_color(int argc, const char **argv)
static int stdout_is_tty; static int stdout_is_tty;
static int get_colorbool_found; static int get_colorbool_found;
static int get_diff_color_found; static int get_diff_color_found;
static int git_get_colorbool_config(const char *var, const char *value) static int git_get_colorbool_config(const char *var, const char *value,
void *cb)
{ {
if (!strcmp(var, get_color_slot)) { if (!strcmp(var, get_color_slot)) {
get_colorbool_found = get_colorbool_found =
Expand Down Expand Up @@ -265,7 +266,7 @@ static int get_colorbool(int argc, const char **argv)
get_colorbool_found = -1; get_colorbool_found = -1;
get_diff_color_found = -1; get_diff_color_found = -1;
get_color_slot = argv[0]; get_color_slot = argv[0];
git_config(git_get_colorbool_config); git_config(git_get_colorbool_config, NULL);


if (get_colorbool_found < 0) { if (get_colorbool_found < 0) {
if (!strcmp(get_color_slot, "color.diff")) if (!strcmp(get_color_slot, "color.diff"))
Expand Down Expand Up @@ -298,7 +299,8 @@ int cmd_config(int argc, const char **argv, const char *prefix)
else if (!strcmp(argv[1], "--list") || !strcmp(argv[1], "-l")) { else if (!strcmp(argv[1], "--list") || !strcmp(argv[1], "-l")) {
if (argc != 2) if (argc != 2)
usage(git_config_set_usage); usage(git_config_set_usage);
if (git_config(show_all_config) < 0 && file && errno) if (git_config(show_all_config, NULL) < 0 &&
file && errno)
die("unable to read config file %s: %s", file, die("unable to read config file %s: %s", file,
strerror(errno)); strerror(errno));
return 0; return 0;
Expand Down
2 changes: 1 addition & 1 deletion builtin-diff-files.c
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ int cmd_diff_files(int argc, const char **argv, const char *prefix)


prefix = setup_git_directory_gently(&nongit); prefix = setup_git_directory_gently(&nongit);
init_revisions(&rev, prefix); init_revisions(&rev, prefix);
git_config(git_diff_basic_config); /* no "diff" UI options */ git_config(git_diff_basic_config, NULL); /* no "diff" UI options */
rev.abbrev = 0; rev.abbrev = 0;


if (!setup_diff_no_index(&rev, argc, argv, nongit, prefix)) if (!setup_diff_no_index(&rev, argc, argv, nongit, prefix))
Expand Down
2 changes: 1 addition & 1 deletion builtin-diff-index.c
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ int cmd_diff_index(int argc, const char **argv, const char *prefix)
int result; int result;


init_revisions(&rev, prefix); init_revisions(&rev, prefix);
git_config(git_diff_basic_config); /* no "diff" UI options */ git_config(git_diff_basic_config, NULL); /* no "diff" UI options */
rev.abbrev = 0; rev.abbrev = 0;


argc = setup_revisions(argc, argv, &rev, NULL); argc = setup_revisions(argc, argv, &rev, NULL);
Expand Down
2 changes: 1 addition & 1 deletion builtin-diff-tree.c
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ int cmd_diff_tree(int argc, const char **argv, const char *prefix)
int read_stdin = 0; int read_stdin = 0;


init_revisions(opt, prefix); init_revisions(opt, prefix);
git_config(git_diff_basic_config); /* no "diff" UI options */ git_config(git_diff_basic_config, NULL); /* no "diff" UI options */
nr_sha1 = 0; nr_sha1 = 0;
opt->abbrev = 0; opt->abbrev = 0;
opt->diff = 1; opt->diff = 1;
Expand Down
2 changes: 1 addition & 1 deletion builtin-diff.c
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -234,7 +234,7 @@ int cmd_diff(int argc, const char **argv, const char *prefix)
*/ */


prefix = setup_git_directory_gently(&nongit); prefix = setup_git_directory_gently(&nongit);
git_config(git_diff_ui_config); git_config(git_diff_ui_config, NULL);


if (diff_use_color_default == -1) if (diff_use_color_default == -1)
diff_use_color_default = git_use_color_default; diff_use_color_default = git_use_color_default;
Expand Down
2 changes: 1 addition & 1 deletion builtin-fast-export.c
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -372,7 +372,7 @@ int cmd_fast_export(int argc, const char **argv, const char *prefix)
}; };


/* we handle encodings */ /* we handle encodings */
git_config(git_default_config); git_config(git_default_config, NULL);


init_revisions(&revs, prefix); init_revisions(&revs, prefix);
argc = setup_revisions(argc, argv, &revs, NULL); argc = setup_revisions(argc, argv, &revs, NULL);
Expand Down
Loading

0 comments on commit 9bd81e4

Please sign in to comment.