Réda Housni Alaoui <reda.housnialaoui@xxxxxxxxx> writes: > Are pre-commit hooks expected to be able to manipulate the index? Hooks are described in githooks(5) manual pages; we may want to clarify what is not allowed, but back when most of the entries were written, the stance was that anything that is not explicitly allowed there is forbidden. In general, a pre-<something> hook is a way to inspect (i.e. look but not touch) what is proposed to be done and veto it by exiting with non-zero. It is not expected to change the state of the repository in any way. The code does not necessarily enforce it, because it is costly to take a snapshot of everything (including the index, the working tree files, the files that are untracked, the objects in the object database, etc.) before calling a hook and ensure that the hook did not touch anything. Thanks.