diff options
author | Junio C Hamano <gitster@pobox.com> | 2016-11-22 13:37:04 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2016-11-22 13:55:20 -0800 |
commit | eb0224c617ba6b4299f2a9f85d6c4b3b5e10abc0 (patch) | |
tree | e619ede7551b1afd632defa778924abafabc87d4 /archive.c | |
parent | 3f0ec0687d95e0f53c899f964d769ca1846874da (diff) | |
download | git-eb0224c617ba6b4299f2a9f85d6c4b3b5e10abc0.tar.gz |
archive: read local configurationjc/setup-cleanup-fix
Since b9605bc4f2 ("config: only read .git/config from configured
repos", 2016-09-12), we do not read from ".git/config" unless we
know we are in a repository. "git archive" however didn't do the
repository discovery and instead relied on the old behaviour.
Teach the command to run a "gentle" version of repository discovery
so that local configuration variables are honoured.
[jc: stole tests from peff]
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'archive.c')
-rw-r--r-- | archive.c | 8 |
1 files changed, 2 insertions, 6 deletions
@@ -504,15 +504,11 @@ static int parse_archive_args(int argc, const char **argv, } int write_archive(int argc, const char **argv, const char *prefix, - int setup_prefix, const char *name_hint, int remote) + const char *name_hint, int remote) { - int nongit = 0; const struct archiver *ar = NULL; struct archiver_args args; - if (setup_prefix && prefix == NULL) - prefix = setup_git_directory_gently(&nongit); - git_config_get_bool("uploadarchive.allowunreachable", &remote_allow_unreachable); git_config(git_default_config, NULL); @@ -520,7 +516,7 @@ int write_archive(int argc, const char **argv, const char *prefix, init_zip_archiver(); argc = parse_archive_args(argc, argv, &ar, &args, name_hint, remote); - if (nongit) { + if (!startup_info->have_repository) { /* * We know this will die() with an error, so we could just * die ourselves; but its error message will be more specific |