Johannes Schindelin [off-list ref] writes:
quoted hunk
diff --git a/t/t5516-fetch-push.sh b/t/t5516-fetch-push.sh
index f4da20a..ba002a9 100755
--- a/t/t5516-fetch-push.sh
+++ b/t/t5516-fetch-push.sh
@@ -1330,4 +1330,21 @@ 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 --refresh &&
+ git diff-files --quiet &&
+ git diff-index --cached HEAD --
+ )
+'
+
This new feature has two sides. Update when we can and more
importantly fail the update safely. This tests the "success" case,
but not the "safely fail" one.
For the latter "test_must_fail git push" on the sending side, and
"original HEAD stays the same and the working tree changes are
preserved when there are local changes before the push" on the
receiving side needs to be tested.
Thanks.