remote: add camel-cased *.tagOpt key, like clone
Change "git remote add" so that it adds a *.tagOpt key, and not the lower-cased *.tagopt on "git remote add --no-tags", just as "git clone --no-tags" would do. This doesn't matter for anything that reads the config. It's just prettier if we write config keys in their documented camelCase form to user-readable config files. When I added support for "clone -no-tags" in0dab2468ee
(clone: add a --no-tags option to clone without tags, 2017-04-26) I made it use the *.tagOpt form, but the older "git remote add" added in111fb85865
(remote add: add a --[no-]tags option, 2010-04-20) has been using *.tagopt all this time. It's easy enough to add a test for this, so let's do that. We can't use "git config -l" there, because it'll normalize the keys to their lower-cased form. Let's add the test for "git clone" too for good measure, not just to the "git remote" codepath we're fixing. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
59ec22464f
commit
bfa9148ff7
@ -221,7 +221,7 @@ static int add(int argc, const char **argv)
|
|||||||
|
|
||||||
if (fetch_tags != TAGS_DEFAULT) {
|
if (fetch_tags != TAGS_DEFAULT) {
|
||||||
strbuf_reset(&buf);
|
strbuf_reset(&buf);
|
||||||
strbuf_addf(&buf, "remote.%s.tagopt", name);
|
strbuf_addf(&buf, "remote.%s.tagOpt", name);
|
||||||
git_config_set(buf.buf,
|
git_config_set(buf.buf,
|
||||||
fetch_tags == TAGS_SET ? "--tags" : "--no-tags");
|
fetch_tags == TAGS_SET ? "--tags" : "--no-tags");
|
||||||
}
|
}
|
||||||
|
@ -591,6 +591,7 @@ test_expect_success 'add --no-tags' '
|
|||||||
cd add-no-tags &&
|
cd add-no-tags &&
|
||||||
git init &&
|
git init &&
|
||||||
git remote add -f --no-tags origin ../one &&
|
git remote add -f --no-tags origin ../one &&
|
||||||
|
grep tagOpt .git/config &&
|
||||||
git tag -l some-tag >../test/output &&
|
git tag -l some-tag >../test/output &&
|
||||||
git tag -l foobar-tag >../test/output &&
|
git tag -l foobar-tag >../test/output &&
|
||||||
git config remote.origin.tagopt >>../test/output
|
git config remote.origin.tagopt >>../test/output
|
||||||
|
@ -94,6 +94,7 @@ test_expect_success 'by default no tags will be kept updated' '
|
|||||||
test_expect_success 'clone with --no-tags' '
|
test_expect_success 'clone with --no-tags' '
|
||||||
(
|
(
|
||||||
cd dir_all_no_tags &&
|
cd dir_all_no_tags &&
|
||||||
|
grep tagOpt .git/config &&
|
||||||
git fetch &&
|
git fetch &&
|
||||||
git for-each-ref refs/tags >../actual
|
git for-each-ref refs/tags >../actual
|
||||||
) &&
|
) &&
|
||||||
|
Reference in New Issue
Block a user