Merge branch 'jk/remote-rename-without-fetch-refspec'
"git remote rename" failed to rename a remote without fetch refspec, which has been corrected. * jk/remote-rename-without-fetch-refspec: remote: handle rename of remote without fetch refspec
This commit is contained in:
@ -733,6 +733,7 @@ static int mv(int argc, const char **argv, const char *prefix)
|
|||||||
return error(_("Could not rename config section '%s' to '%s'"),
|
return error(_("Could not rename config section '%s' to '%s'"),
|
||||||
buf.buf, buf2.buf);
|
buf.buf, buf2.buf);
|
||||||
|
|
||||||
|
if (oldremote->fetch.raw_nr) {
|
||||||
strbuf_reset(&buf);
|
strbuf_reset(&buf);
|
||||||
strbuf_addf(&buf, "remote.%s.fetch", rename.new_name);
|
strbuf_addf(&buf, "remote.%s.fetch", rename.new_name);
|
||||||
git_config_set_multivar(buf.buf, NULL, NULL, CONFIG_FLAGS_MULTI_REPLACE);
|
git_config_set_multivar(buf.buf, NULL, NULL, CONFIG_FLAGS_MULTI_REPLACE);
|
||||||
@ -757,6 +758,7 @@ static int mv(int argc, const char **argv, const char *prefix)
|
|||||||
|
|
||||||
git_config_set_multivar(buf.buf, buf2.buf, "^$", 0);
|
git_config_set_multivar(buf.buf, buf2.buf, "^$", 0);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
read_branches();
|
read_branches();
|
||||||
for (i = 0; i < branch_list.nr; i++) {
|
for (i = 0; i < branch_list.nr; i++) {
|
||||||
|
@ -902,6 +902,17 @@ test_expect_success 'rename a remote renames repo remote.pushDefault but keeps g
|
|||||||
)
|
)
|
||||||
'
|
'
|
||||||
|
|
||||||
|
test_expect_success 'rename handles remote without fetch refspec' '
|
||||||
|
git clone --bare one no-refspec.git &&
|
||||||
|
# confirm assumption that bare clone does not create refspec
|
||||||
|
test_expect_code 5 \
|
||||||
|
git -C no-refspec.git config --unset-all remote.origin.fetch &&
|
||||||
|
git -C no-refspec.git config remote.origin.url >expect &&
|
||||||
|
git -C no-refspec.git remote rename origin foo &&
|
||||||
|
git -C no-refspec.git config remote.foo.url >actual &&
|
||||||
|
test_cmp expect actual
|
||||||
|
'
|
||||||
|
|
||||||
test_expect_success 'rename does not update a non-default fetch refspec' '
|
test_expect_success 'rename does not update a non-default fetch refspec' '
|
||||||
git clone one four.one &&
|
git clone one four.one &&
|
||||||
(
|
(
|
||||||
|
Reference in New Issue
Block a user