t5516: more tests for receive.denyCurrentBranch=updateInstead
commit4d7a5ceacc97e69c4ab5e1543f61fafafb963a9c
authorJunio C Hamano <gitster@pobox.com>
Mon, 1 Dec 2014 01:54:30 +0000 (30 17:54 -0800)
committerJunio C Hamano <gitster@pobox.com>
Mon, 1 Dec 2014 01:54:30 +0000 (30 17:54 -0800)
tree53321307e90232507fda8c3ba919b983b7bdc6d9
parent1404bcbb6b3bdb248d32024430644e55faec91ce
t5516: more tests for receive.denyCurrentBranch=updateInstead

The previous one tests only the case where a path to be updated by
the push-to-deploy has an incompatible change in the target's
working tree that has already been added to the index, but the
feature itself wants to require the working tree to be a lot cleaner
than what is tested.  Add a handful more tests to protect the
feature from future changes that mistakenly (from the viewpoint of
the inventor of the feature) loosens the cleanliness requirement,
namely:

 - A change only to the working tree but not to the index is still a
   change to be protected;

 - An untracked file in the working tree that would be overwritten
   by a push-to-deploy needs to be protected;

 - A change that happens to make a file identical to what is being
   pushed is still a change to be protected (i.e. the feature's
   cleanliness requirement is more strict than that of checkout).

Also, test that a stat-only change to the working tree is not a
reason to reject a push-to-deploy.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t5516-fetch-push.sh