diff options
-rw-r--r-- | cache.h | 2 | ||||
-rw-r--r-- | environment.c | 1 | ||||
-rw-r--r-- | git.c | 3 | ||||
-rw-r--r-- | setup.c | 10 | ||||
-rw-r--r-- | sha1_name.c | 3 | ||||
-rwxr-xr-x | t/t1506-rev-parse-diagnosis.sh | 5 |
6 files changed, 7 insertions, 17 deletions
@@ -1771,7 +1771,7 @@ int split_cmdline(char *cmdline, const char ***argv); /* Takes a negative value returned by split_cmdline */ const char *split_cmdline_strerror(int cmdline_errno); -/* git.c */ +/* setup.c */ struct startup_info { int have_repository; const char *prefix; diff --git a/environment.c b/environment.c index 6dec9d0403..6cc0a7780f 100644 --- a/environment.c +++ b/environment.c @@ -64,7 +64,6 @@ int grafts_replace_parents = 1; int core_apply_sparse_checkout; int merge_log_config = -1; int precomposed_unicode = -1; /* see probe_utf8_pathname_composition() */ -struct startup_info *startup_info; unsigned long pack_size_limit_cfg; #ifndef PROTECT_HFS_DEFAULT @@ -15,7 +15,6 @@ const char git_more_info_string[] = "concept guides. See 'git help <command>' or 'git help <concept>'\n" "to read about a specific subcommand or concept."); -static struct startup_info git_startup_info; static int use_pager = -1; static char *orig_cwd; static const char *env_names[] = { @@ -637,8 +636,6 @@ int main(int argc, char **av) const char *cmd; int done_help = 0; - startup_info = &git_startup_info; - cmd = git_extract_argv0_path(argv[0]); if (!cmd) cmd = "git-help"; @@ -7,6 +7,9 @@ static int inside_work_tree = -1; static int work_tree_config_is_bogus; static struct string_list unknown_extensions = STRING_LIST_INIT_DUP; +static struct startup_info the_startup_info; +struct startup_info *startup_info = &the_startup_info; + /* * The input parameter must contain an absolute path, and it must already be * normalized. @@ -905,10 +908,9 @@ const char *setup_git_directory_gently(int *nongit_ok) else setenv(GIT_PREFIX_ENVIRONMENT, "", 1); - if (startup_info) { - startup_info->have_repository = !nongit_ok || !*nongit_ok; - startup_info->prefix = prefix; - } + startup_info->have_repository = !nongit_ok || !*nongit_ok; + startup_info->prefix = prefix; + return prefix; } diff --git a/sha1_name.c b/sha1_name.c index 3acf221f92..776101e8d7 100644 --- a/sha1_name.c +++ b/sha1_name.c @@ -1353,9 +1353,6 @@ static char *resolve_relative_path(const char *rel) if (!starts_with(rel, "./") && !starts_with(rel, "../")) return NULL; - if (!startup_info) - die("BUG: startup_info struct is not initialized."); - if (!is_inside_work_tree()) die("relative path syntax can't be used outside working tree."); diff --git a/t/t1506-rev-parse-diagnosis.sh b/t/t1506-rev-parse-diagnosis.sh index 613d9bfe1b..86c2ff255d 100755 --- a/t/t1506-rev-parse-diagnosis.sh +++ b/t/t1506-rev-parse-diagnosis.sh @@ -166,11 +166,6 @@ test_expect_success 'relative path when cwd is outside worktree' ' grep "relative path syntax can.t be used outside working tree." error ' -test_expect_success 'relative path when startup_info is NULL' ' - test_must_fail test-match-trees HEAD:./file.txt HEAD:./file.txt 2>error && - grep "BUG: startup_info struct is not initialized." error -' - test_expect_success '<commit>:file correctly diagnosed after a pathname' ' test_must_fail git rev-parse file.txt HEAD:file.txt 1>actual 2>error && test_i18ngrep ! "exists on disk" error && |