jj で pre-commit を扱う
公式に pre-commit を扱うことはできない
そもそも、jj には stage/commit の区別があまりなく、変更=git stage 状態になっていて、commit による hook もできない
そのため、change を移動するとき(jj new, jj commit) や push 前(jj git push) に pre-commit を明示的に差し込む必要がある。
自分は jj n / jj c / jj s / jj d / jj gp のようにそれぞれ new / commit / squash / desc / git push の alias を作成し、その中で trunk() との変更ファイルに対して pre-commit をかけるという運用をしている。
alias が手に馴染んでいるので比較的困らない運用ができている。
安全側に倒して、どの change であっても trunk() との差分を取るようにしている