Joey Hess [off-list ref] writes:
I have found many uses for the feature that lets a pre-commit hook stage
changes in the index that will be included in the commit. But now I seem
to have found a bug in the support for that, involving partial commits.
It seems that, after a partial commit in which the pre-commit hook
stages a modification of a file, the index is is left without that
staged change. This only occurs with "git commit $file", not "git commit -a".
Aren't pre-* hooks about verifications? Who told you that you are
allowed to muck with the index there?