#ifndef ENVIRONMENT_H
#define ENVIRONMENT_H
#include "repo-settings.h"
#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 …
#define ALTERNATE_DB_ENVIRONMENT …
extern const char * const local_repo_env[];
struct strvec;
const char *getenv_safe(struct strvec *argv, const char *name);
int print_sha1_ellipsis(void);
int use_optional_locks(void);
const char *get_git_namespace(void);
const char *strip_namespace(const char *namespaced_ref);
# ifdef USE_THE_REPOSITORY_VARIABLE
void setup_git_env(const char *git_dir);
int have_git_dir(void);
void set_shared_repository(int value);
int get_shared_repository(void);
void reset_shared_repository(void);
extern int is_bare_repository_cfg;
int is_bare_repository(void);
extern char *git_work_tree_cfg;
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 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;
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;
enum rebase_setup_type { … };
extern enum rebase_setup_type autorebase;
enum push_default_type { … };
extern enum push_default_type push_default;
enum object_creation_mode { … };
extern enum object_creation_mode object_creation_mode;
extern int grafts_keep_true_parents;
extern int repository_format_precious_objects;
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;
extern const char *comment_line_str;
extern char *comment_line_str_to_free;
extern int auto_comment_line_char;
# endif
#endif