godot/misc/hooks
Rémi Verschelde 08eafbd52b
Merge pull request #65078 from RandomShaper/git_hooks_extend
2022-08-30 16:18:31 +02:00
..
README.md Add ability to extend the set of Git pre-commit hooks 2022-08-30 13:34:10 +02:00
canonicalize_filename.sh Replace HTTP links with HTTPS for sites with HTTPS versions 2021-08-22 20:13:11 -05:00
pre-commit Add ability to extend the set of Git pre-commit hooks 2022-08-30 13:34:10 +02:00
pre-commit-black Make Git hooks work on worktrees on Windows 2022-08-30 11:18:11 +02:00
pre-commit-clang-format Make Git hooks work on worktrees on Windows 2022-08-30 11:18:11 +02:00
pre-commit-make-rst makerst: Print colored output for easier visual grepping 2022-06-11 00:19:36 +02:00
winmessage.ps1 Cleanup: Remove executable bit from files which don't need it 2021-01-19 23:36:42 +01:00

README.md

Git hooks for Godot Engine

This folder contains Git hooks meant to be installed locally by Godot Engine contributors to make sure they comply with our requirements.

List of hooks

  • Pre-commit hook for clang-format: Applies clang-format to the staged files before accepting a commit; blocks the commit and generates a patch if the style is not respected. You may need to edit the file if your clang-format binary is not in the PATH, or if you want to enable colored output with pygmentize.
  • Pre-commit hook for black: Applies black to the staged Python files before accepting a commit.
  • Pre-commit hook for make_rst: Checks the class reference syntax using make_rst.py.

Installation

Copy all the files from this folder into your .git/hooks folder, and make sure the hooks and helper scripts are executable.

Linux/MacOS

The hooks rely on bash scripts and tools which should be in the system PATH, so they should work out of the box on Linux/macOS.

Windows

clang-format
black
  • Python installation: make sure Python is added to the PATH
  • Install black - in any console: pip3 install black

Custom hooks

The pre-commit hook will run any other script in .git/hooks whose filename matches pre-commit-custom-*, after the Godot ones.