git-merge does not honor the pre-commit hook when doing automatic merge
commits, and for compatibility reasons this is going to stay.
Introduce a pre-merge-commit hook which is called for an automatic merge
commit just like pre-commit is called for a non-automatic merge commit
(or any other commit).
[js: * renamed hook from "pre-merge" to "pre-merge-commit"
* only discard the index if the hook is actually present
* expanded githooks documentation entry
* clarified that hook should write messages to stderr
* squashed test changes from the original series' patch 4/4
* modified tests to follow new pattern from this series' patch 1/4
* added a test case for non-executable merge hooks
* added a test case for failed merges
* when testing that the merge hook did not run, make sure we
actually have a merge to perform (by resetting the "side" branch
to its original state).
* reworded commit message
]
Improved-by: Martin Ågren <martin.agren@gmail.com>
Signed-off-by: Michael J Gruber <git@grubix.eu>
Signed-off-by: Martin Ågren <martin.agren@gmail.com>
Signed-off-by: Josh Steadmon <steadmon@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
|
||
|---|---|---|
| .. | ||
| .gitignore | ||
| Makefile | ||
| branches-- | ||
| hooks--applypatch-msg.sample | ||
| hooks--commit-msg.sample | ||
| hooks--fsmonitor-watchman.sample | ||
| hooks--post-update.sample | ||
| hooks--pre-applypatch.sample | ||
| hooks--pre-commit.sample | ||
| hooks--pre-merge-commit.sample | ||
| hooks--pre-push.sample | ||
| hooks--pre-rebase.sample | ||
| hooks--pre-receive.sample | ||
| hooks--prepare-commit-msg.sample | ||
| hooks--update.sample | ||
| info--exclude | ||
| this--description | ||