49f4860ce3
It only introduced a difference in a .glsl file, which I've worked around by removing an empty line. This keeps formatting consistent between clang-format 15 and 16. Also added a change in the 3-to-4 project converter to fix bogus formatting in clang-format < 17. |
||
---|---|---|
.. | ||
README.md | ||
asmessage.applescript | ||
canonicalize_filename.sh | ||
pre-commit | ||
pre-commit-black | ||
pre-commit-clang-format | ||
pre-commit-make-rst | ||
winmessage.ps1 |
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
: Appliesclang-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 yourclang-format
binary is not in thePATH
, or if you want to enable colored output withpygmentize
. - Pre-commit hook for
black
: Appliesblack
to the staged Python files before accepting a commit. - Pre-commit hook for
make_rst
: Checks the class reference syntax usingmake_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
- Download LLVM for Windows (version 13 or later) from https://github.com/llvm/llvm-project/releases
- Make sure LLVM is added to the
PATH
during installation
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.