From: Junio C Hamano Date: Thu, 23 Feb 2012 21:30:14 +0000 (-0800) Subject: Merge branch 'jk/config-include' X-Git-Tag: v1.7.10-rc0~52 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/fd1727f5fa1ca1817eee36f99c9245dc2217ecac?ds=inline;hp=-c Merge branch 'jk/config-include' * jk/config-include: : An assignment to the include.path pseudo-variable causes the named file : to be included in-place when Git looks up configuration variables. config: add include directive config: eliminate config_exclusive_filename config: stop using config_exclusive_filename config: provide a version of git_config with more options config: teach git_config_rename_section a file argument config: teach git_config_set_multivar_in_file a default path config: copy the return value of prefix_filename t1300: add missing &&-chaining docs/api-config: minor clarifications docs: add a basic description of the config API --- fd1727f5fa1ca1817eee36f99c9245dc2217ecac diff --combined cache.h index 422c5cfcb3,8fdad9412d..e12b15f4b9 --- a/cache.h +++ b/cache.h @@@ -432,7 -432,6 +432,7 @@@ extern char *git_work_tree_cfg extern int is_inside_work_tree(void); extern int have_git_dir(void); extern const char *get_git_dir(void); +extern int is_git_directory(const char *path); extern char *get_object_directory(void); extern char *get_index_file(void); extern char *get_graft_file(void); @@@ -1038,7 -1037,6 +1038,7 @@@ struct extra_have_objects }; extern struct ref **get_remote_heads(int in, struct ref **list, unsigned int flags, struct extra_have_objects *); extern int server_supports(const char *feature); +extern const char *parse_feature_request(const char *features, const char *feature); extern struct packed_git *parse_pack_index(unsigned char *sha1, const char *idx_path); @@@ -1115,6 -1113,8 +1115,8 @@@ extern int git_config_from_file(config_ extern void git_config_push_parameter(const char *text); extern int git_config_from_parameters(config_fn_t fn, void *data); extern int git_config(config_fn_t fn, void *); + extern int git_config_with_options(config_fn_t fn, void *, + const char *filename, int respect_includes); extern int git_config_early(config_fn_t fn, void *, const char *repo_config); extern int git_parse_ulong(const char *, unsigned long *); extern int git_config_int(const char *, const char *); @@@ -1130,6 -1130,7 +1132,7 @@@ extern int git_config_parse_key(const c extern int git_config_set_multivar(const char *, const char *, const char *, int); extern int git_config_set_multivar_in_file(const char *, const char *, const char *, const char *, int); extern int git_config_rename_section(const char *, const char *); + extern int git_config_rename_section_in_file(const char *, const char *, const char *); extern const char *git_etc_gitconfig(void); extern int check_repository_format_version(const char *var, const char *value, void *cb); extern int git_env_bool(const char *, int); @@@ -1140,7 -1141,13 +1143,13 @@@ extern const char *get_commit_output_en extern int git_config_parse_parameter(const char *, config_fn_t fn, void *data); - extern const char *config_exclusive_filename; + struct config_include_data { + int depth; + config_fn_t fn; + void *data; + }; + #define CONFIG_INCLUDE_INIT { 0 } + extern int git_config_include(const char *name, const char *value, void *data); #define MAX_GITNAME (1000) extern char git_default_email[MAX_GITNAME]; @@@ -1177,8 -1184,6 +1186,8 @@@ extern void setup_pager(void) extern const char *pager_program; extern int pager_in_use(void); extern int pager_use_color; +extern int term_columns(void); +extern int decimal_width(int); extern const char *editor_program; extern const char *askpass_program;