t7501: fix "empty commit" test with NO_PERL
commit088304bf73b9b4149e04d2246fe08a06eef6e795
authorJeff King <peff@peff.net>
Thu, 23 Jan 2014 19:54:57 +0000 (23 14:54 -0500)
committerJunio C Hamano <gitster@pobox.com>
Thu, 23 Jan 2014 21:11:07 +0000 (23 13:11 -0800)
treea395ea4292eb2b2e84e72dbfecf6ace1a9b8c1ca
parentac930287ff16823531b541a8e6a7436279e612be
t7501: fix "empty commit" test with NO_PERL

t7501.9 tries to check that "git commit" will fail when the
index is unchanged. It relies on previous tests not to have
modified the index. When it was originally written, this was
always the case. However, commit c65dc35 (t7501: test the
right kind of breakage, 2012-03-30) changed earlier tests (4
and 5) to leave a modification in the index.

We never noticed, however, because t7501.7, between the two,
clears the index state as a side effect. However, that test
depends on the PERL prerequisite, and so it does not always
run. Therefore if NO_PERL is set, we do not run the
intervening test, the index is left unclean, and t7501.9
fails.

We could fix this by moving t7501.9 up in the script.
However, this patch instead leaves it in place and adds a
"git reset" before the commit. This makes the test more
explicit about its preconditions, and will future-proof it
against any other changes in the test state.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t7501-commit.sh