summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2010-01-27 22:56:25 (GMT)
committerJunio C Hamano <gitster@pobox.com>2010-01-27 22:56:25 (GMT)
commitf1694b62bb3a3e1766b92d64a38f61524cc730a0 (patch)
treec88a5c4870bc8fec37ba9d2b29ff8a01c2f4eb84
parentcb21d8f032b3784ffa7b340abbafb8c4b122d2cc (diff)
parent65807ee697a28cb30b8ad38ebb8b84cebd3f255d (diff)
downloadgit-f1694b62bb3a3e1766b92d64a38f61524cc730a0.zip
git-f1694b62bb3a3e1766b92d64a38f61524cc730a0.tar.gz
git-f1694b62bb3a3e1766b92d64a38f61524cc730a0.tar.bz2
Merge branch 'jh/maint-config-file-prefix'
* jh/maint-config-file-prefix: builtin-config: Fix crash when using "-f <relative path>" from non-root dir
-rw-r--r--builtin-config.c2
-rwxr-xr-xt/t1300-repo-config.sh11
2 files changed, 12 insertions, 1 deletions
diff --git a/builtin-config.c b/builtin-config.c
index 2e3ef91..4bc46b1 100644
--- a/builtin-config.c
+++ b/builtin-config.c
@@ -358,7 +358,7 @@ int cmd_config(int argc, const char **argv, const char *unused_prefix)
if (!is_absolute_path(given_config_file) && prefix)
config_exclusive_filename = prefix_filename(prefix,
strlen(prefix),
- argv[2]);
+ given_config_file);
else
config_exclusive_filename = given_config_file;
}
diff --git a/t/t1300-repo-config.sh b/t/t1300-repo-config.sh
index f89d7e9..f11f98c 100755
--- a/t/t1300-repo-config.sh
+++ b/t/t1300-repo-config.sh
@@ -398,6 +398,17 @@ test_expect_success 'alternative GIT_CONFIG' 'cmp output expect'
test_expect_success 'alternative GIT_CONFIG (--file)' \
'git config --file other-config -l > output && cmp output expect'
+test_expect_success 'refer config from subdirectory' '
+ mkdir x &&
+ (
+ cd x &&
+ echo strasse >expect
+ git config --get --file ../other-config ein.bahn >actual &&
+ test_cmp expect actual
+ )
+
+'
+
GIT_CONFIG=other-config git config anwohner.park ausweis
cat > expect << EOF