godot/misc/hooks
Aarni Koskela de7133ee07 Add tests/python_build to clang-format pre-commit hook ignore list
It had been ignored by misc/scripts/clang_format.sh since 388d35b74d but not the hook.
2024-01-09 16:07:22 +02:00
..
asmessage.applescript [Git hooks] Add AppleScript dialog script for macOS. 2023-01-16 14:23:06 +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 [Git hooks] Add AppleScript dialog script for macOS. 2023-01-16 14:23:06 +02:00
pre-commit-clang-format Add tests/python_build to clang-format pre-commit hook ignore list 2024-01-09 16:07:22 +02:00
pre-commit-make-rst Create an "Editor-only" section in the online class reference 2023-04-24 21:06:55 +02:00
README.md Style: Mark clang-format 16 as supported for pre-commit hook 2023-12-06 13:26:53 +01:00
winmessage.ps1

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.