@ -734,6 +734,7 @@ test_expect_success 'reject adding remote with an invalid name' '
@@ -734,6 +734,7 @@ test_expect_success 'reject adding remote with an invalid name' '
# the last two ones check if the config is updated.
test_expect_success 'rename a remote' '
test_config_global remote.pushDefault origin &&
git clone one four &&
(
cd four &&
@ -744,7 +745,42 @@ test_expect_success 'rename a remote' '
@@ -744,7 +745,42 @@ test_expect_success 'rename a remote' '
test "$(git rev-parse upstream/master)" = "$(git rev-parse master)" &&
test "$(git config remote.upstream.fetch)" = "+refs/heads/*:refs/remotes/upstream/*" &&
test "$(git config branch.master.remote)" = "upstream" &&
test "$(git config branch.master.pushRemote)" = "upstream"
test "$(git config branch.master.pushRemote)" = "upstream" &&
test "$(git config --global remote.pushDefault)" = "origin"
)
'
test_expect_success 'rename a remote renames repo remote.pushDefault' '
git clone one four.1 &&
(
cd four.1 &&
git config remote.pushDefault origin &&
git remote rename origin upstream &&
test "$(git config --local remote.pushDefault)" = "upstream"
)
'
test_expect_success 'rename a remote renames repo remote.pushDefault but ignores global' '
test_config_global remote.pushDefault other &&
git clone one four.2 &&
(
cd four.2 &&
git config remote.pushDefault origin &&
git remote rename origin upstream &&
test "$(git config --global remote.pushDefault)" = "other" &&
test "$(git config --local remote.pushDefault)" = "upstream"
)
'
test_expect_success 'rename a remote renames repo remote.pushDefault but keeps global' '
test_config_global remote.pushDefault origin &&
git clone one four.3 &&
(
cd four.3 &&
git config remote.pushDefault origin &&
git remote rename origin upstream &&
test "$(git config --global remote.pushDefault)" = "origin" &&
test "$(git config --local remote.pushDefault)" = "upstream"
)
'
@ -787,6 +823,7 @@ test_expect_success 'rename succeeds with existing remote.<target>.prune' '
@@ -787,6 +823,7 @@ test_expect_success 'rename succeeds with existing remote.<target>.prune' '
'
test_expect_success 'remove a remote' '
test_config_global remote.pushDefault origin &&
git clone one four.five &&
(
cd four.five &&
@ -794,7 +831,42 @@ test_expect_success 'remove a remote' '
@@ -794,7 +831,42 @@ test_expect_success 'remove a remote' '
git remote remove origin &&
test -z "$(git for-each-ref refs/remotes/origin)" &&
test_must_fail git config branch.master.remote &&
test_must_fail git config branch.master.pushRemote
test_must_fail git config branch.master.pushRemote &&
test "$(git config --global remote.pushDefault)" = "origin"
)
'
test_expect_success 'remove a remote removes repo remote.pushDefault' '
git clone one four.five.1 &&
(
cd four.five.1 &&
git config remote.pushDefault origin &&
git remote remove origin &&
test_must_fail git config --local remote.pushDefault
)
'
test_expect_success 'remove a remote removes repo remote.pushDefault but ignores global' '
test_config_global remote.pushDefault other &&
git clone one four.five.2 &&
(
cd four.five.2 &&
git config remote.pushDefault origin &&
git remote remove origin &&
test "$(git config --global remote.pushDefault)" = "other" &&
test_must_fail git config --local remote.pushDefault
)
'
test_expect_success 'remove a remote removes repo remote.pushDefault but keeps global' '
test_config_global remote.pushDefault origin &&
git clone one four.five.3 &&
(
cd four.five.3 &&
git config remote.pushDefault origin &&
git remote remove origin &&
test "$(git config --global remote.pushDefault)" = "origin" &&
test_must_fail git config --local remote.pushDefault
)
'