Linus Torvalds [off-list ref] writes:
One thing to be careful about is merges.
...
So the current "git commit filename" behaviour is actually the only
possible correct one for a merge. Nothing else makes any sense
what-so-ever.
Agreed 100%, and I kind of feel silly about not mentioning that
myself. It _might_ even make sense to reject explicit filenames
when MERGE_HEAD does not exist ;-).
Oh, one final suggestion: if you give a filename to "git
commit", and you do the new semantics which means something
_different_ than "do a git-update-index on that file and
commit", then I'd really suggest that the _old_ index for that
filename should match the parent exactly.
That is also a good safety measure.