@@ -16,6 +16,7 @@
#include "delta.h"
#include "diff.h"
#include "dir.h"
+#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "xdiff-interface.h"
@@ -2,6 +2,7 @@
#include "abspath.h"
#include "alloc.h"
#include "config.h"
+#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "refs.h"
@@ -9,6 +9,7 @@
#include "cache.h"
#include "alloc.h"
#include "config.h"
+#include "environment.h"
#include "exec-cmd.h"
#include "attr.h"
#include "dir.h"
@@ -2,6 +2,7 @@
#include "config.h"
#include "commit.h"
#include "diff.h"
+#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "revision.h"
@@ -2,6 +2,7 @@
#include "cache.h"
#include "config.h"
#include "branch.h"
+#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "refs.h"
@@ -8,6 +8,7 @@
#include "abspath.h"
#include "config.h"
#include "builtin.h"
+#include "environment.h"
#include "exec-cmd.h"
#include "gettext.h"
#include "hex.h"
@@ -1,5 +1,6 @@
#include "builtin.h"
#include "cache.h"
+#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "parse-options.h"
@@ -10,6 +10,7 @@
#include "config.h"
#include "color.h"
#include "builtin.h"
+#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "repository.h"
@@ -9,6 +9,7 @@
#include "config.h"
#include "builtin.h"
#include "diff.h"
+#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "ident.h"
@@ -3,6 +3,7 @@
#include "cache.h"
#include "config.h"
#include "attr.h"
+#include "environment.h"
#include "gettext.h"
#include "quote.h"
#include "parse-options.h"
@@ -9,6 +9,7 @@
#include "config.h"
#include "diff.h"
#include "dir.h"
+#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "hook.h"
@@ -12,6 +12,7 @@
#include "builtin.h"
#include "abspath.h"
#include "config.h"
+#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "lockfile.h"
@@ -1,6 +1,7 @@
#include "builtin.h"
#include "config.h"
#include "dir.h"
+#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "lockfile.h"
@@ -3,6 +3,7 @@
#include "alloc.h"
#include "config.h"
#include "color.h"
+#include "environment.h"
#include "gettext.h"
#include "ident.h"
#include "parse-options.h"
@@ -7,6 +7,7 @@
#include "cache.h"
#include "config.h"
#include "dir.h"
+#include "environment.h"
#include "gettext.h"
#include "repository.h"
#include "builtin.h"
@@ -1,6 +1,7 @@
#define USE_THE_INDEX_VARIABLE
#include "cache.h"
#include "config.h"
+#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "lockfile.h"
@@ -17,6 +17,7 @@
#include "config.h"
#include "builtin.h"
#include "run-command.h"
+#include "environment.h"
#include "exec-cmd.h"
#include "gettext.h"
#include "hex.h"
@@ -1,6 +1,7 @@
#include "builtin.h"
#include "abspath.h"
#include "cache.h"
+#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "repository.h"
@@ -4,6 +4,7 @@
#include "cache.h"
#include "config.h"
#include "gettext.h"
+#include "environment.h"
#include "hex.h"
#include "repository.h"
#include "refs.h"
@@ -2,6 +2,7 @@
#include "abspath.h"
#include "alloc.h"
#include "config.h"
+#include "environment.h"
#include "gettext.h"
#include "parse-options.h"
#include "fsmonitor.h"
@@ -12,6 +12,7 @@
#include "builtin.h"
#include "abspath.h"
+#include "environment.h"
#include "hex.h"
#include "repository.h"
#include "config.h"
@@ -2,6 +2,7 @@
#include "alloc.h"
#include "config.h"
#include "delta.h"
+#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "pack.h"
@@ -6,6 +6,7 @@
#include "cache.h"
#include "abspath.h"
#include "config.h"
+#include "environment.h"
#include "gettext.h"
#include "refs.h"
#include "builtin.h"
@@ -8,6 +8,7 @@
#include "abspath.h"
#include "alloc.h"
#include "config.h"
+#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "refs.h"
@@ -5,6 +5,7 @@
#include "cache.h"
#include "abspath.h"
#include "builtin.h"
+#include "environment.h"
#include "gettext.h"
#include "utf8.h"
#include "strbuf.h"
@@ -2,6 +2,7 @@
#include "abspath.h"
#include "cache.h"
#include "config.h"
+#include "environment.h"
#include "gettext.h"
#include "parse-options.h"
#include "midx.h"
@@ -8,6 +8,7 @@
#include "abspath.h"
#include "alloc.h"
#include "config.h"
+#include "environment.h"
#include "gettext.h"
#include "pathspec.h"
#include "lockfile.h"
@@ -1,5 +1,6 @@
#include "builtin.h"
#include "alloc.h"
+#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "repository.h"
@@ -1,5 +1,6 @@
#include "builtin.h"
#include "alloc.h"
+#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "repository.h"
@@ -1,6 +1,7 @@
#include "cache.h"
#include "commit.h"
#include "diff.h"
+#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "revision.h"
@@ -4,6 +4,7 @@
#include "cache.h"
#include "branch.h"
#include "config.h"
+#include "environment.h"
#include "gettext.h"
#include "refs.h"
#include "refspec.h"
@@ -7,6 +7,7 @@
#define USE_THE_INDEX_VARIABLE
#include "builtin.h"
#include "abspath.h"
+#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "run-command.h"
@@ -2,6 +2,7 @@
#include "abspath.h"
#include "repository.h"
#include "config.h"
+#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "lockfile.h"
@@ -2,6 +2,7 @@
#include "alloc.h"
#include "config.h"
#include "dir.h"
+#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "parse-options.h"
@@ -11,6 +11,7 @@
#include "cache.h"
#include "config.h"
#include "builtin.h"
+#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "refs.h"
@@ -10,6 +10,7 @@
#define USE_THE_INDEX_VARIABLE
#include "builtin.h"
#include "config.h"
+#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "lockfile.h"
@@ -2,6 +2,7 @@
#include "config.h"
#include "commit.h"
#include "diff.h"
+#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "revision.h"
@@ -9,6 +9,7 @@
#include "alloc.h"
#include "config.h"
#include "commit.h"
+#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "refs.h"
@@ -3,6 +3,7 @@
#include "config.h"
#include "commit.h"
#include "diff.h"
+#include "environment.h"
#include "gettext.h"
#include "string-list.h"
#include "revision.h"
@@ -1,5 +1,6 @@
#include "cache.h"
#include "config.h"
+#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "pretty.h"
@@ -2,6 +2,7 @@
#include "cache.h"
#include "config.h"
#include "dir.h"
+#include "environment.h"
#include "gettext.h"
#include "parse-options.h"
#include "pathspec.h"
@@ -2,6 +2,7 @@
#include "builtin.h"
#include "abspath.h"
#include "config.h"
+#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "parse-options.h"
@@ -2,6 +2,7 @@
#include "builtin.h"
#include "abspath.h"
#include "alloc.h"
+#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "repository.h"
@@ -2,6 +2,7 @@
#include "cache.h"
#include "bulk-checkin.h"
#include "config.h"
+#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "object-store.h"
@@ -7,6 +7,7 @@
#include "cache.h"
#include "bulk-checkin.h"
#include "config.h"
+#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "lockfile.h"
@@ -4,6 +4,7 @@
#include "config.h"
#include "builtin.h"
#include "dir.h"
+#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "parse-options.h"
@@ -7,6 +7,7 @@
#include "builtin.h"
#include "cache.h"
#include "config.h"
+#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "tree.h"
@@ -4,6 +4,7 @@
#include "git-compat-util.h"
#include "alloc.h"
#include "bulk-checkin.h"
+#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "lockfile.h"
@@ -1,6 +1,7 @@
#include "cache.h"
#include "bundle-uri.h"
#include "bundle.h"
+#include "environment.h"
#include "gettext.h"
#include "object-store.h"
#include "refs.h"
@@ -1,6 +1,7 @@
#include "cache.h"
#include "lockfile.h"
#include "bundle.h"
+#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "object-store.h"
@@ -1,5 +1,6 @@
#include "cache.h"
#include "alloc.h"
+#include "environment.h"
#include "hex.h"
#include "lockfile.h"
#include "tree.h"
@@ -452,98 +452,10 @@ static inline enum object_type object_type(unsigned int mode)
OBJ_BLOB;
}
-/* Double-check local_repo_env below if you add to this list. */
-#define GIT_DIR_ENVIRONMENT "GIT_DIR"
-#define GIT_COMMON_DIR_ENVIRONMENT "GIT_COMMON_DIR"
-#define GIT_NAMESPACE_ENVIRONMENT "GIT_NAMESPACE"
-#define GIT_WORK_TREE_ENVIRONMENT "GIT_WORK_TREE"
-#define GIT_PREFIX_ENVIRONMENT "GIT_PREFIX"
-#define DEFAULT_GIT_DIR_ENVIRONMENT ".git"
-#define DB_ENVIRONMENT "GIT_OBJECT_DIRECTORY"
-#define INDEX_ENVIRONMENT "GIT_INDEX_FILE"
-#define GRAFT_ENVIRONMENT "GIT_GRAFT_FILE"
-#define GIT_SHALLOW_FILE_ENVIRONMENT "GIT_SHALLOW_FILE"
-#define TEMPLATE_DIR_ENVIRONMENT "GIT_TEMPLATE_DIR"
-#define CONFIG_ENVIRONMENT "GIT_CONFIG"
-#define CONFIG_DATA_ENVIRONMENT "GIT_CONFIG_PARAMETERS"
-#define CONFIG_COUNT_ENVIRONMENT "GIT_CONFIG_COUNT"
-#define EXEC_PATH_ENVIRONMENT "GIT_EXEC_PATH"
-#define CEILING_DIRECTORIES_ENVIRONMENT "GIT_CEILING_DIRECTORIES"
-#define NO_REPLACE_OBJECTS_ENVIRONMENT "GIT_NO_REPLACE_OBJECTS"
-#define GIT_REPLACE_REF_BASE_ENVIRONMENT "GIT_REPLACE_REF_BASE"
-#define GITATTRIBUTES_FILE ".gitattributes"
-#define INFOATTRIBUTES_FILE "info/attributes"
-#define ATTRIBUTE_MACRO_PREFIX "[attr]"
-#define GITMODULES_FILE ".gitmodules"
-#define GITMODULES_INDEX ":.gitmodules"
-#define GITMODULES_HEAD "HEAD:.gitmodules"
-#define GIT_NOTES_REF_ENVIRONMENT "GIT_NOTES_REF"
-#define GIT_NOTES_DEFAULT_REF "refs/notes/commits"
-#define GIT_NOTES_DISPLAY_REF_ENVIRONMENT "GIT_NOTES_DISPLAY_REF"
-#define GIT_NOTES_REWRITE_REF_ENVIRONMENT "GIT_NOTES_REWRITE_REF"
-#define GIT_NOTES_REWRITE_MODE_ENVIRONMENT "GIT_NOTES_REWRITE_MODE"
-#define GIT_LITERAL_PATHSPECS_ENVIRONMENT "GIT_LITERAL_PATHSPECS"
-#define GIT_GLOB_PATHSPECS_ENVIRONMENT "GIT_GLOB_PATHSPECS"
-#define GIT_NOGLOB_PATHSPECS_ENVIRONMENT "GIT_NOGLOB_PATHSPECS"
-#define GIT_ICASE_PATHSPECS_ENVIRONMENT "GIT_ICASE_PATHSPECS"
-#define GIT_QUARANTINE_ENVIRONMENT "GIT_QUARANTINE_PATH"
-#define GIT_OPTIONAL_LOCKS_ENVIRONMENT "GIT_OPTIONAL_LOCKS"
-#define GIT_TEXT_DOMAIN_DIR_ENVIRONMENT "GIT_TEXTDOMAINDIR"
-
-/*
- * Environment variable used in handshaking the wire protocol.
- * Contains a colon ':' separated list of keys with optional values
- * 'key[=value]'. Presence of unknown keys and values must be
- * ignored.
- */
-#define GIT_PROTOCOL_ENVIRONMENT "GIT_PROTOCOL"
-/* HTTP header used to handshake the wire protocol */
-#define GIT_PROTOCOL_HEADER "Git-Protocol"
-
-/*
- * This environment variable is expected to contain a boolean indicating
- * whether we should or should not treat:
- *
- * GIT_DIR=foo.git git ...
- *
- * as if GIT_WORK_TREE=. was given. It's not expected that users will make use
- * of this, but we use it internally to communicate to sub-processes that we
- * are in a bare repo. If not set, defaults to true.
- */
-#define GIT_IMPLICIT_WORK_TREE_ENVIRONMENT "GIT_IMPLICIT_WORK_TREE"
-
-/*
- * Repository-local GIT_* environment variables; these will be cleared
- * when git spawns a sub-process that runs inside another repository.
- * The array is NULL-terminated, which makes it easy to pass in the "env"
- * parameter of a run-command invocation, or to do a simple walk.
- */
-extern const char * const local_repo_env[];
-
-void setup_git_env(const char *git_dir);
-
-/*
- * Returns true iff we have a configured git repository (either via
- * setup_git_directory, or in the environment via $GIT_DIR).
- */
-int have_git_dir(void);
-
-extern int is_bare_repository_cfg;
-int is_bare_repository(void);
int is_inside_git_dir(void);
-extern char *git_work_tree_cfg;
int is_inside_work_tree(void);
-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);
int get_common_dir_noenv(struct strbuf *sb, const char *gitdir);
int get_common_dir(struct strbuf *sb, const char *gitdir);
-const char *get_git_namespace(void);
-const char *strip_namespace(const char *namespaced_ref);
-const char *get_git_work_tree(void);
/*
* Return true if the given path is a git directory; note that this _just_
@@ -578,10 +490,6 @@ const char *read_gitfile_gently(const char *path, int *return_error_code);
const char *resolve_gitdir_gently(const char *suspect, int *return_error_code);
#define resolve_gitdir(path) resolve_gitdir_gently((path), NULL)
-void set_git_work_tree(const char *tree);
-
-#define ALTERNATE_DB_ENVIRONMENT "GIT_ALTERNATE_OBJECT_DIRECTORIES"
-
void setup_work_tree(void);
/*
* Find the commondir and gitdir of the repository that contains the current
@@ -840,39 +748,7 @@ void set_alternate_index_output(const char *);
extern int verify_index_checksum;
extern int verify_ce_order;
-/* Environment bits from configuration mechanism */
-extern int trust_executable_bit;
-extern int trust_ctime;
-extern int check_stat;
extern int quote_path_fully;
-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 const char *git_attributes_file;
-extern const 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;
-
-/*
- * Accessors for the core.sharedrepository config which lazy-load the value
- * from the config (if not already set). The "reset" function can be
- * used to unset "set" or cached value, meaning that the value will be loaded
- * fresh from the config file on the next call to get_shared_repository().
- */
-void set_shared_repository(int value);
-int get_shared_repository(void);
-void reset_shared_repository(void);
/*
* These values are used to help identify parts of a repository to fsync.
@@ -930,57 +806,6 @@ enum fsync_method {
};
extern enum fsync_method fsync_method;
-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;
-
-/*
- * Returns the boolean value of $GIT_OPTIONAL_LOCKS (or the default value).
- */
-int use_optional_locks(void);
-
-enum log_refs_config {
- LOG_REFS_UNSET = -1,
- LOG_REFS_NONE = 0,
- LOG_REFS_NORMAL,
- LOG_REFS_ALWAYS
-};
-extern enum log_refs_config log_all_ref_updates;
-
-enum rebase_setup_type {
- AUTOREBASE_NEVER = 0,
- AUTOREBASE_LOCAL,
- AUTOREBASE_REMOTE,
- AUTOREBASE_ALWAYS
-};
-
-enum push_default_type {
- PUSH_DEFAULT_NOTHING = 0,
- PUSH_DEFAULT_MATCHING,
- PUSH_DEFAULT_SIMPLE,
- PUSH_DEFAULT_UPSTREAM,
- PUSH_DEFAULT_CURRENT,
- PUSH_DEFAULT_UNSPECIFIED
-};
-
-extern enum rebase_setup_type autorebase;
-extern enum push_default_type push_default;
-
-enum object_creation_mode {
- OBJECT_CREATION_USES_HARDLINKS = 0,
- OBJECT_CREATION_USES_RENAMES = 1
-};
-
-extern enum object_creation_mode object_creation_mode;
-
-extern char *notes_ref_name;
-
-extern int grafts_replace_parents;
/*
* GIT_REPO_VERSION is the version we write by default. The
@@ -989,8 +814,6 @@ extern int grafts_replace_parents;
*/
#define GIT_REPO_VERSION 0
#define GIT_REPO_VERSION_READ 1
-extern int repository_format_precious_objects;
-extern int repository_format_worktree_config;
/*
* You _have_ to initialize a `struct repository_format` using
@@ -1362,21 +1185,6 @@ struct pack_entry {
struct packed_git *p;
};
-/*
- * Create a temporary file rooted in the object database directory, or
- * die on failure. The filename is taken from "pattern", which should have the
- * usual "XXXXXX" trailer, and the resulting filename is written into the
- * "template" buffer. Returns the open descriptor.
- */
-int odb_mkstemp(struct strbuf *temp_filename, const char *pattern);
-
-/*
- * Create a pack .keep file named "name" (which should generally be the output
- * of odb_pack_name). Returns a file descriptor opened for writing, or -1 on
- * error.
- */
-int odb_pack_keep(const char *name);
-
/*
* Set this to 0 to prevent oid_object_info_extended() from fetching missing
* blobs. This has a difference only if extensions.partialClone is set.
@@ -1388,11 +1196,6 @@ extern int fetch_if_missing;
/* Dumb servers support */
int update_server_info(int);
-const char *get_log_output_encoding(void);
-const char *get_commit_output_encoding(void);
-
-extern const char *git_commit_encoding;
-extern const char *git_log_output_encoding;
extern const char *git_mailmap_file;
extern const char *git_mailmap_blob;
@@ -1429,10 +1232,6 @@ int decimal_width(uintmax_t);
int check_pager_config(const char *cmd);
void prepare_pager_args(struct child_process *, const char *pager);
-extern const char *editor_program;
-extern const char *askpass_program;
-extern const char *excludes_file;
-
/* base85 */
int decode_85(char *dst, const char *line, int linelen);
void encode_85(char *buf, const unsigned char *data, int bytes);
@@ -1536,10 +1335,4 @@ void stat_validity_update(struct stat_validity *sv, int fd);
int versioncmp(const char *s1, const char *s2);
-/*
- * Should we print an ellipsis after an abbreviated SHA-1 value
- * when doing diff-raw output or indicating a detached HEAD?
- */
-int print_sha1_ellipsis(void);
-
#endif /* CACHE_H */
@@ -4,6 +4,7 @@
#include "blob.h"
#include "diff.h"
#include "diffcore.h"
+#include "environment.h"
#include "hex.h"
#include "quote.h"
#include "xdiff-interface.h"
@@ -11,6 +11,7 @@
#include "../alloc.h"
#include "win32/lazyload.h"
#include "../config.h"
+#include "../environment.h"
#include "../wrapper.h"
#include "dir.h"
#include "gettext.h"
@@ -7,6 +7,7 @@
#include "cache.h"
#include "config.h"
+#include "environment.h"
#include "gettext.h"
#include "utf8.h"
#include "precompose_utf8.h"
@@ -1,6 +1,7 @@
#include "git-compat-util.h"
#include "cache.h"
#include "config.h"
+#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "pkt-line.h"
@@ -2,6 +2,7 @@
#include "abspath.h"
#include "alloc.h"
#include "config.h"
+#include "environment.h"
#include "pkt-line.h"
#include "run-command.h"
#include "strbuf.h"
@@ -5,6 +5,7 @@
#include "abspath.h"
#include "alloc.h"
#include "config.h"
+#include "environment.h"
#include "gettext.h"
#include "tempfile.h"
#include "quote.h"
@@ -10,6 +10,7 @@
#include "alloc.h"
#include "config.h"
#include "dir.h"
+#include "environment.h"
#include "gettext.h"
#include "object-store.h"
#include "attr.h"
@@ -1,6 +1,7 @@
#include "cache.h"
#include "abspath.h"
#include "config.h"
+#include "environment.h"
#include "gettext.h"
#include "strbuf.h"
#include "strvec.h"
@@ -2,6 +2,7 @@
#include "blob.h"
#include "object-store.h"
#include "dir.h"
+#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "streaming.h"
@@ -3,6 +3,8 @@
#include "strvec.h"
+struct repository;
+
/*
* The character that begins a commented line in user-editable file
* that is subject to stripspace.
@@ -16,4 +18,215 @@ extern int auto_comment_line_char;
*/
const char *getenv_safe(struct strvec *argv, const char *name);
+/* Double-check local_repo_env below if you add to this list. */
+#define GIT_DIR_ENVIRONMENT "GIT_DIR"
+#define GIT_COMMON_DIR_ENVIRONMENT "GIT_COMMON_DIR"
+#define GIT_NAMESPACE_ENVIRONMENT "GIT_NAMESPACE"
+#define GIT_WORK_TREE_ENVIRONMENT "GIT_WORK_TREE"
+#define GIT_PREFIX_ENVIRONMENT "GIT_PREFIX"
+#define DEFAULT_GIT_DIR_ENVIRONMENT ".git"
+#define DB_ENVIRONMENT "GIT_OBJECT_DIRECTORY"
+#define INDEX_ENVIRONMENT "GIT_INDEX_FILE"
+#define GRAFT_ENVIRONMENT "GIT_GRAFT_FILE"
+#define GIT_SHALLOW_FILE_ENVIRONMENT "GIT_SHALLOW_FILE"
+#define TEMPLATE_DIR_ENVIRONMENT "GIT_TEMPLATE_DIR"
+#define CONFIG_ENVIRONMENT "GIT_CONFIG"
+#define CONFIG_DATA_ENVIRONMENT "GIT_CONFIG_PARAMETERS"
+#define CONFIG_COUNT_ENVIRONMENT "GIT_CONFIG_COUNT"
+#define EXEC_PATH_ENVIRONMENT "GIT_EXEC_PATH"
+#define CEILING_DIRECTORIES_ENVIRONMENT "GIT_CEILING_DIRECTORIES"
+#define NO_REPLACE_OBJECTS_ENVIRONMENT "GIT_NO_REPLACE_OBJECTS"
+#define GIT_REPLACE_REF_BASE_ENVIRONMENT "GIT_REPLACE_REF_BASE"
+#define GITATTRIBUTES_FILE ".gitattributes"
+#define INFOATTRIBUTES_FILE "info/attributes"
+#define ATTRIBUTE_MACRO_PREFIX "[attr]"
+#define GITMODULES_FILE ".gitmodules"
+#define GITMODULES_INDEX ":.gitmodules"
+#define GITMODULES_HEAD "HEAD:.gitmodules"
+#define GIT_NOTES_REF_ENVIRONMENT "GIT_NOTES_REF"
+#define GIT_NOTES_DEFAULT_REF "refs/notes/commits"
+#define GIT_NOTES_DISPLAY_REF_ENVIRONMENT "GIT_NOTES_DISPLAY_REF"
+#define GIT_NOTES_REWRITE_REF_ENVIRONMENT "GIT_NOTES_REWRITE_REF"
+#define GIT_NOTES_REWRITE_MODE_ENVIRONMENT "GIT_NOTES_REWRITE_MODE"
+#define GIT_LITERAL_PATHSPECS_ENVIRONMENT "GIT_LITERAL_PATHSPECS"
+#define GIT_GLOB_PATHSPECS_ENVIRONMENT "GIT_GLOB_PATHSPECS"
+#define GIT_NOGLOB_PATHSPECS_ENVIRONMENT "GIT_NOGLOB_PATHSPECS"
+#define GIT_ICASE_PATHSPECS_ENVIRONMENT "GIT_ICASE_PATHSPECS"
+#define GIT_QUARANTINE_ENVIRONMENT "GIT_QUARANTINE_PATH"
+#define GIT_OPTIONAL_LOCKS_ENVIRONMENT "GIT_OPTIONAL_LOCKS"
+#define GIT_TEXT_DOMAIN_DIR_ENVIRONMENT "GIT_TEXTDOMAINDIR"
+
+/*
+ * Environment variable used in handshaking the wire protocol.
+ * Contains a colon ':' separated list of keys with optional values
+ * 'key[=value]'. Presence of unknown keys and values must be
+ * ignored.
+ */
+#define GIT_PROTOCOL_ENVIRONMENT "GIT_PROTOCOL"
+/* HTTP header used to handshake the wire protocol */
+#define GIT_PROTOCOL_HEADER "Git-Protocol"
+
+/*
+ * This environment variable is expected to contain a boolean indicating
+ * whether we should or should not treat:
+ *
+ * GIT_DIR=foo.git git ...
+ *
+ * as if GIT_WORK_TREE=. was given. It's not expected that users will make use
+ * of this, but we use it internally to communicate to sub-processes that we
+ * are in a bare repo. If not set, defaults to true.
+ */
+#define GIT_IMPLICIT_WORK_TREE_ENVIRONMENT "GIT_IMPLICIT_WORK_TREE"
+
+/*
+ * Repository-local GIT_* environment variables; these will be cleared
+ * when git spawns a sub-process that runs inside another repository.
+ * The array is NULL-terminated, which makes it easy to pass in the "env"
+ * parameter of a run-command invocation, or to do a simple walk.
+ */
+extern const char * const local_repo_env[];
+
+void setup_git_env(const char *git_dir);
+
+/*
+ * Returns true iff we have a configured git repository (either via
+ * setup_git_directory, or in the environment via $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 "GIT_ALTERNATE_OBJECT_DIRECTORIES"
+
+/* Environment bits from configuration mechanism */
+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 const char *git_attributes_file;
+extern const 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;
+
+/*
+ * Accessors for the core.sharedrepository config which lazy-load the value
+ * from the config (if not already set). The "reset" function can be
+ * used to unset "set" or cached value, meaning that the value will be loaded
+ * fresh from the config file on the next call to get_shared_repository().
+ */
+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;
+
+/*
+ * Returns the boolean value of $GIT_OPTIONAL_LOCKS (or the default value).
+ */
+int use_optional_locks(void);
+
+enum log_refs_config {
+ LOG_REFS_UNSET = -1,
+ LOG_REFS_NONE = 0,
+ LOG_REFS_NORMAL,
+ LOG_REFS_ALWAYS
+};
+extern enum log_refs_config log_all_ref_updates;
+
+enum rebase_setup_type {
+ AUTOREBASE_NEVER = 0,
+ AUTOREBASE_LOCAL,
+ AUTOREBASE_REMOTE,
+ AUTOREBASE_ALWAYS
+};
+
+enum push_default_type {
+ PUSH_DEFAULT_NOTHING = 0,
+ PUSH_DEFAULT_MATCHING,
+ PUSH_DEFAULT_SIMPLE,
+ PUSH_DEFAULT_UPSTREAM,
+ PUSH_DEFAULT_CURRENT,
+ PUSH_DEFAULT_UNSPECIFIED
+};
+
+extern enum rebase_setup_type autorebase;
+extern enum push_default_type push_default;
+
+enum object_creation_mode {
+ OBJECT_CREATION_USES_HARDLINKS = 0,
+ OBJECT_CREATION_USES_RENAMES = 1
+};
+
+extern enum object_creation_mode object_creation_mode;
+
+extern char *notes_ref_name;
+
+extern int grafts_replace_parents;
+
+extern int repository_format_precious_objects;
+extern int repository_format_worktree_config;
+
+/*
+ * Create a temporary file rooted in the object database directory, or
+ * die on failure. The filename is taken from "pattern", which should have the
+ * usual "XXXXXX" trailer, and the resulting filename is written into the
+ * "template" buffer. Returns the open descriptor.
+ */
+int odb_mkstemp(struct strbuf *temp_filename, const char *pattern);
+
+/*
+ * Create a pack .keep file named "name" (which should generally be the output
+ * of odb_pack_name). Returns a file descriptor opened for writing, or -1 on
+ * error.
+ */
+int odb_pack_keep(const char *name);
+
+const char *get_log_output_encoding(void);
+const char *get_commit_output_encoding(void);
+
+extern const char *git_commit_encoding;
+extern const char *git_log_output_encoding;
+
+extern const char *editor_program;
+extern const char *askpass_program;
+extern const char *excludes_file;
+
+/*
+ * Should we print an ellipsis after an abbreviated SHA-1 value
+ * when doing diff-raw output or indicating a detached HEAD?
+ */
+int print_sha1_ellipsis(void);
+
#endif
@@ -1,5 +1,6 @@
#include "cache.h"
#include "abspath.h"
+#include "environment.h"
#include "exec-cmd.h"
#include "gettext.h"
#include "quote.h"
@@ -2,6 +2,7 @@
#include "alloc.h"
#include "repository.h"
#include "config.h"
+#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "lockfile.h"
@@ -1,6 +1,7 @@
#include "cache.h"
#include "config.h"
#include "dir.h"
+#include "environment.h"
#include "ewah/ewok.h"
#include "fsmonitor.h"
#include "fsmonitor-ipc.h"
@@ -4,6 +4,7 @@
#include "cache.h"
#include "abspath.h"
+#include "environment.h"
#include "exec-cmd.h"
#include "gettext.h"
#include "strbuf.h"
@@ -1,5 +1,6 @@
#include "builtin.h"
#include "config.h"
+#include "environment.h"
#include "exec-cmd.h"
#include "gettext.h"
#include "help.h"
@@ -1,6 +1,7 @@
#include "cache.h"
#include "alloc.h"
#include "config.h"
+#include "environment.h"
#include "hex.h"
#include "repository.h"
#include "refs.h"
@@ -1,4 +1,5 @@
#include "cache.h"
+#include "environment.h"
#include "hex.h"
#include "repository.h"
#include "commit.h"
@@ -2,6 +2,7 @@
#include "commit-reach.h"
#include "config.h"
#include "diff.h"
+#include "environment.h"
#include "hex.h"
#include "object-store.h"
#include "repository.h"
@@ -1,4 +1,5 @@
#include "cache.h"
+#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "repository.h"
@@ -1,4 +1,5 @@
#include "cache.h"
+#include "environment.h"
#include "string-list.h"
#include "mailmap.h"
#include "object-store.h"
@@ -26,6 +26,7 @@
#include "diff.h"
#include "diffcore.h"
#include "dir.h"
+#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "entry.h"
@@ -17,6 +17,7 @@
#include "diff.h"
#include "diffcore.h"
#include "dir.h"
+#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "ll-merge.h"
@@ -6,6 +6,7 @@
* Copyright (C) 2008 Linus Torvalds
*/
#include "cache.h"
+#include "environment.h"
#include "gettext.h"
#include "thread-utils.h"
#include "trace2.h"
@@ -1,6 +1,7 @@
#include "cache.h"
#include "config.h"
#include "commit.h"
+#include "environment.h"
#include "gettext.h"
#include "refs.h"
#include "notes-utils.h"
@@ -1,5 +1,6 @@
#include "cache.h"
#include "config.h"
+#include "environment.h"
#include "hex.h"
#include "notes.h"
#include "object-store.h"
@@ -10,6 +10,7 @@
#include "abspath.h"
#include "alloc.h"
#include "config.h"
+#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "string-list.h"
@@ -1,5 +1,6 @@
#include "cache.h"
#include "config.h"
+#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "tag.h"
@@ -1,5 +1,6 @@
#include "git-compat-util.h"
#include "alloc.h"
+#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "object-store.h"
@@ -1,4 +1,5 @@
#include "cache.h"
+#include "environment.h"
#include "hex.h"
#include "repository.h"
#include "pack.h"
@@ -1,4 +1,5 @@
#include "cache.h"
+#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "pack.h"
@@ -1,5 +1,6 @@
#include "git-compat-util.h"
#include "alloc.h"
+#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "list.h"
@@ -4,6 +4,7 @@
#include "cache.h"
#include "commit.h"
#include "color.h"
+#include "environment.h"
#include "gettext.h"
#include "string-list.h"
#include "strvec.h"
@@ -3,6 +3,7 @@
*/
#include "cache.h"
#include "abspath.h"
+#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "repository.h"
@@ -2,6 +2,7 @@
#include "abspath.h"
#include "config.h"
#include "dir.h"
+#include "environment.h"
#include "gettext.h"
#include "pathspec.h"
#include "attr.h"
@@ -4,6 +4,7 @@
#include "cache.h"
#include "pathspec.h"
#include "dir.h"
+#include "environment.h"
#include "fsmonitor.h"
#include "gettext.h"
#include "config.h"
@@ -2,6 +2,7 @@
#include "alloc.h"
#include "config.h"
#include "commit.h"
+#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "utf8.h"
@@ -1,5 +1,6 @@
#include "cache.h"
#include "config.h"
+#include "environment.h"
#include "run-command.h"
#include "strbuf.h"
#include "prompt.h"
@@ -1,5 +1,6 @@
#include "cache.h"
#include "config.h"
+#include "environment.h"
#include "protocol.h"
static enum protocol_version parse_protocol_version(const char *value)
@@ -1,4 +1,5 @@
#include "cache.h"
+#include "environment.h"
#include "gettext.h"
#include "object-store.h"
#include "packfile.h"
@@ -1,4 +1,5 @@
#include "cache.h"
+#include "environment.h"
#include "gettext.h"
#include "range-diff.h"
#include "string-list.h"
@@ -18,6 +18,7 @@
#include "tree.h"
#include "commit.h"
#include "blob.h"
+#include "environment.h"
#include "gettext.h"
#include "resolve-undo.h"
#include "run-command.h"
@@ -1,5 +1,6 @@
#include "cache.h"
#include "commit.h"
+#include "environment.h"
#include "gettext.h"
#include "sequencer.h"
#include "rebase-interactive.h"
@@ -1,5 +1,6 @@
#include "cache.h"
#include "alloc.h"
+#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "parse-options.h"
@@ -5,6 +5,7 @@
#include "cache.h"
#include "alloc.h"
#include "config.h"
+#include "environment.h"
#include "hashmap.h"
#include "gettext.h"
#include "hex.h"
@@ -1,5 +1,6 @@
#include "../cache.h"
#include "../config.h"
+#include "../environment.h"
#include "../gettext.h"
#include "../hex.h"
#include "../refs.h"
@@ -1,6 +1,7 @@
#include "git-compat-util.h"
#include "alloc.h"
#include "config.h"
+#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "remote.h"
@@ -2,6 +2,7 @@
#include "abspath.h"
#include "alloc.h"
#include "config.h"
+#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "remote.h"
@@ -1,6 +1,7 @@
#include "git-compat-util.h"
#include "alloc.h"
#include "config.h"
+#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "object-store.h"
@@ -1,5 +1,6 @@
#include "cache.h"
#include "run-command.h"
+#include "environment.h"
#include "exec-cmd.h"
#include "gettext.h"
#include "sigchain.h"
@@ -1,6 +1,7 @@
#include "cache.h"
#include "alloc.h"
#include "dir.h"
+#include "environment.h"
#include "hex.h"
#include "repository.h"
#include "refs.h"
@@ -1,5 +1,6 @@
#include "cache.h"
#include "abspath.h"
+#include "environment.h"
#include "gettext.h"
#include "repository.h"
#include "config.h"
@@ -1,5 +1,6 @@
#include "cache.h"
#include "alloc.h"
+#include "environment.h"
#include "gettext.h"
#include "repository.h"
#include "sparse-index.h"
@@ -2,6 +2,7 @@
* Copyright (c) 2011, Google Inc.
*/
#include "cache.h"
+#include "environment.h"
#include "streaming.h"
#include "repository.h"
#include "object-store.h"
@@ -1,6 +1,7 @@
#include "cache.h"
#include "alloc.h"
#include "dir.h"
+#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "repository.h"
@@ -8,6 +8,7 @@
#include "dir.h"
#include "diff.h"
#include "commit.h"
+#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "revision.h"
@@ -15,6 +15,7 @@
#include "cache.h"
#include "cache-tree.h"
#include "commit.h"
+#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "lockfile.h"
@@ -1,6 +1,7 @@
#define USE_THE_INDEX_VARIABLE
#include "test-tool.h"
#include "cache.h"
+#include "environment.h"
#include "parse-options.h"
static int single;
@@ -1,6 +1,7 @@
#include "test-tool.h"
#include "cache.h"
#include "abspath.h"
+#include "environment.h"
#include "string-list.h"
#include "utf8.h"
@@ -3,6 +3,7 @@
#include "commit-graph.h"
#include "commit.h"
#include "config.h"
+#include "environment.h"
#include "hex.h"
#include "object-store.h"
#include "object.h"
@@ -1,4 +1,5 @@
#include "cache.h"
+#include "environment.h"
#include "tag.h"
#include "object-store.h"
#include "commit.h"
@@ -3,6 +3,7 @@
#include "abspath.h"
#include "chdir-notify.h"
#include "dir.h"
+#include "environment.h"
#include "sigchain.h"
#include "string-list.h"
#include "strbuf.h"
@@ -23,6 +23,7 @@
#include "cache.h"
#include "abspath.h"
+#include "environment.h"
#include "quote.h"
#include "wrapper.h"
@@ -4,6 +4,7 @@
#include "run-command.h"
#include "commit.h"
#include "diff.h"
+#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "revision.h"
@@ -1,6 +1,7 @@
#include "cache.h"
#include "alloc.h"
#include "config.h"
+#include "environment.h"
#include "hex.h"
#include "transport.h"
#include "hook.h"
@@ -3,6 +3,7 @@
#include "repository.h"
#include "config.h"
#include "dir.h"
+#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "tree.h"
@@ -1,5 +1,6 @@
#include "cache.h"
#include "config.h"
+#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "refs.h"
@@ -1,6 +1,7 @@
#include "cache.h"
#include "abspath.h"
#include "alloc.h"
+#include "environment.h"
#include "gettext.h"
#include "repository.h"
#include "refs.h"