From 923d4a5ca4f86c19247ef436e6d03d261ebce904 Mon Sep 17 00:00:00 2001 From: Bert Wesarg Date: Mon, 27 Jan 2020 08:04:30 +0100 Subject: remote rename/remove: handle branch..pushRemote config values When renaming or removing a remote with git remote rename X Y git remote remove X Git already renames/removes any config values from branch..remote = X to branch..remote = Y As branch..pushRemote also names a remote, it now also renames or removes these config values from branch..pushRemote = X to branch..pushRemote = Y Signed-off-by: Bert Wesarg Signed-off-by: Junio C Hamano --- t/t5505-remote.sh | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 't/t5505-remote.sh') diff --git a/t/t5505-remote.sh b/t/t5505-remote.sh index 883b32efa0..082042b05a 100755 --- a/t/t5505-remote.sh +++ b/t/t5505-remote.sh @@ -737,12 +737,14 @@ test_expect_success 'rename a remote' ' git clone one four && ( cd four && + git config branch.master.pushRemote origin && git remote rename origin upstream && test -z "$(git for-each-ref refs/remotes/origin)" && test "$(git symbolic-ref refs/remotes/upstream/HEAD)" = "refs/remotes/upstream/master" && 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.remote)" = "upstream" && + test "$(git config branch.master.pushRemote)" = "upstream" ) ' @@ -784,6 +786,18 @@ test_expect_success 'rename succeeds with existing remote..prune' ' git -C four.four remote rename origin upstream ' +test_expect_success 'remove a remote' ' + git clone one four.five && + ( + cd four.five && + git config branch.master.pushRemote origin && + 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 + ) +' + cat >remotes_origin <