mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2026-08-27 00:26:02 -04:00
A recent commit added this top-level setting to .pre-commit-config.yaml: ... files: '^(gdb|gdbserver|gdbsupport)/' ... This broke the codespell-log hook, which is a commit-msg hook, which is called with the commit message as first argument, typically .git/COMMIT_EDITMSG. However, the top-level files setting filters out .git/COMMIT_EDITMSG, with the consequence that the commit-msg hook is no longer called. It seems obvious to me that this is a pre-commit bug: the files field is there to filter files in the repository, which .git/COMMIT_EDITMSG is not one of. But upstream disagrees [1]. The fix suggested upstream is to include .git/COMMIT_EDITMSG in the default files setting. That indeed works for a regular commit, but not for something like this: ... $ tmp=$(mktemp) $ echo 'msg' > $tmp $ pre-commit run --hook-stage commit-msg --commit-msg-filename $tmp ... which is roughly what we're using in the regression test. We can't use .git/COMMIT_EDITMSG in the regression test, because the user may be editing it, or using it in some other way. We also cannot use say gdb/testsuite/gdb.src/commit-msg.txt, because using that filename doesn't detect the regression. [1] https://github.com/pre-commit/pre-commit/issues/3720 |
||
|---|---|---|
| .. | ||
| pre-commit.exp | ||