git pre-commit

最近、Rust で Webサーバーを書くという https://www.lpalmieri.com/posts/2020-05-24-zero-to-production-0-foreword/ をちょっとずつ進めてる。
その中で

cargo fmt --all -- --check

を毎回実行するのがどうしても面倒だったので pre-commit を設定しようと思い改めて https://git-scm.com/docs/githooks を眺めていると

By default the hooks directory is $GIT_DIR/hooks, but that can be changed via the core.hooksPath configuration variable.

とあり、 core.hooksPath を設定さえすれば普通に pre-commit も git管理できることに気づいた。

今は、.githooks/pre-commit

#!/bin/sh

cargo fmt --all -- --check

を書いていて、

git config --local core.hooksPath .githooks
chmod -R +x .githooks/pre-commit

を事前に設定している。これは本業とかのプロジェクトでも fmt 系を走らせるのに便利だなと思ったので日記に残すことにした。