1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/usr/bin/env -S uv run python
from __future__ import annotations
__VERSION__ = "1"
import sys
import pygit2
from pygittools.hooks import HookResult
from pygittools.hooks_patterns import CommitMsgPattern
PATTERN = r"^(\S+): (.+)"
def main() -> int:
repo = pygit2.Repository(".")
result = CommitMsgPattern(repo, PATTERN).run(sys.argv[1])
if result.value == HookResult.FAILURE:
print("Commit message does not match pattern:", PATTERN, file=sys.stderr)
return int(result.value)
if __name__ == "__main__":
raise SystemExit(main())