diff options
Diffstat (limited to 't')
-rwxr-xr-x | t/t5516-fetch-push.sh | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/t/t5516-fetch-push.sh b/t/t5516-fetch-push.sh index f4da20aa9b..7b353d0b85 100755 --- a/t/t5516-fetch-push.sh +++ b/t/t5516-fetch-push.sh @@ -1330,4 +1330,30 @@ test_expect_success 'fetch into bare respects core.logallrefupdates' ' ) ' +test_expect_success 'receive.denyCurrentBranch = updateInstead' ' + git push testrepo master && + (cd testrepo && + git reset --hard && + git config receive.denyCurrentBranch updateInstead + ) && + test_commit third path2 && + git push testrepo master && + test $(git rev-parse HEAD) = $(cd testrepo && git rev-parse HEAD) && + test third = "$(cat testrepo/path2)" && + (cd testrepo && + git update-index -q --refresh && + git diff-files --quiet -- && + git diff-index --quiet --cached HEAD -- && + echo changed >path2 && + git add path2 + ) && + test_commit fourth path2 && + test_must_fail git push testrepo master && + test $(git rev-parse HEAD^) = $(git -C testrepo rev-parse HEAD) && + (cd testrepo && + git diff --quiet && + test changed = "$(cat path2)" + ) +' + test_done |