#ifndef ENVIRONMENT_H
#define ENVIRONMENT_H
struct repository;
struct strvec;
extern const char *comment_line_str;
extern int auto_comment_line_char;
const char *getenv_safe(struct strvec *argv, const char *name);
#define GIT_DIR_ENVIRONMENT …
#define GIT_COMMON_DIR_ENVIRONMENT …
#define GIT_NAMESPACE_ENVIRONMENT …
#define GIT_WORK_TREE_ENVIRONMENT …
#define GIT_PREFIX_ENVIRONMENT …
#define DEFAULT_GIT_DIR_ENVIRONMENT …
#define DB_ENVIRONMENT …
#define INDEX_ENVIRONMENT …
#define GRAFT_ENVIRONMENT …
#define GIT_SHALLOW_FILE_ENVIRONMENT …
#define TEMPLATE_DIR_ENVIRONMENT …
#define CONFIG_ENVIRONMENT …
#define CONFIG_DATA_ENVIRONMENT …
#define CONFIG_COUNT_ENVIRONMENT …
#define EXEC_PATH_ENVIRONMENT …
#define CEILING_DIRECTORIES_ENVIRONMENT …
#define NO_REPLACE_OBJECTS_ENVIRONMENT …
#define GIT_REPLACE_REF_BASE_ENVIRONMENT …
#define NO_LAZY_FETCH_ENVIRONMENT …
#define GITATTRIBUTES_FILE …
#define INFOATTRIBUTES_FILE …
#define ATTRIBUTE_MACRO_PREFIX …
#define GITMODULES_FILE …
#define GITMODULES_INDEX …
#define GITMODULES_HEAD …
#define GIT_NOTES_REF_ENVIRONMENT …
#define GIT_NOTES_DEFAULT_REF …
#define GIT_NOTES_DISPLAY_REF_ENVIRONMENT …
#define GIT_NOTES_REWRITE_REF_ENVIRONMENT …
#define GIT_NOTES_REWRITE_MODE_ENVIRONMENT …
#define GIT_LITERAL_PATHSPECS_ENVIRONMENT …
#define GIT_GLOB_PATHSPECS_ENVIRONMENT …
#define GIT_NOGLOB_PATHSPECS_ENVIRONMENT …
#define GIT_ICASE_PATHSPECS_ENVIRONMENT …
#define GIT_QUARANTINE_ENVIRONMENT …
#define GIT_OPTIONAL_LOCKS_ENVIRONMENT …
#define GIT_TEXT_DOMAIN_DIR_ENVIRONMENT …
#define GIT_ATTR_SOURCE_ENVIRONMENT …
#define GIT_ADVICE_ENVIRONMENT …
#define GIT_PROTOCOL_ENVIRONMENT …
#define GIT_PROTOCOL_HEADER …
#define GIT_IMPLICIT_WORK_TREE_ENVIRONMENT …
extern const char * const local_repo_env[];
void setup_git_env(const char *git_dir);
int have_git_dir(void);
extern int is_bare_repository_cfg;
int is_bare_repository(void);
extern char *git_work_tree_cfg;
const char *get_git_dir(void);
const char *get_git_common_dir(void);
const char *get_object_directory(void);
char *get_index_file(void);
char *get_graft_file(struct repository *r);
void set_git_dir(const char *path, int make_realpath);
const char *get_git_namespace(void);
const char *strip_namespace(const char *namespaced_ref);
const char *get_git_work_tree(void);
void set_git_work_tree(const char *tree);
#define ALTERNATE_DB_ENVIRONMENT …
extern int trust_executable_bit;
extern int trust_ctime;
extern int check_stat;
extern int has_symlinks;
extern int minimum_abbrev, default_abbrev;
extern int ignore_case;
extern int assume_unchanged;
extern int prefer_symlink_refs;
extern int warn_ambiguous_refs;
extern int warn_on_object_refname_ambiguity;
extern char *apply_default_whitespace;
extern char *apply_default_ignorewhitespace;
extern char *git_attributes_file;
extern char *git_hooks_path;
extern int zlib_compression_level;
extern int pack_compression_level;
extern size_t packed_git_window_size;
extern size_t packed_git_limit;
extern size_t delta_base_cache_limit;
extern unsigned long big_file_threshold;
extern unsigned long pack_size_limit_cfg;
extern int max_allowed_tree_depth;
void set_shared_repository(int value);
int get_shared_repository(void);
void reset_shared_repository(void);
extern int core_preload_index;
extern int precomposed_unicode;
extern int protect_hfs;
extern int protect_ntfs;
extern int core_apply_sparse_checkout;
extern int core_sparse_checkout_cone;
extern int sparse_expect_files_outside_of_patterns;
int use_optional_locks(void);
enum log_refs_config { … };
extern enum log_refs_config log_all_ref_updates;
enum rebase_setup_type { … };
enum push_default_type { … };
extern enum rebase_setup_type autorebase;
extern enum push_default_type push_default;
enum object_creation_mode { … };
extern enum object_creation_mode object_creation_mode;
extern char *notes_ref_name;
extern int grafts_keep_true_parents;
extern int repository_format_precious_objects;
int odb_mkstemp(struct strbuf *temp_filename, const char *pattern);
int odb_pack_keep(const char *name);
const char *get_log_output_encoding(void);
const char *get_commit_output_encoding(void);
extern char *git_commit_encoding;
extern char *git_log_output_encoding;
extern char *editor_program;
extern char *askpass_program;
extern char *excludes_file;
int print_sha1_ellipsis(void);
#endif