esp-idf/docs/en/contribute/install-pre-commit-hook.rst

59 lines
1.9 KiB
ReStructuredText
Raw Normal View History

2020-10-30 07:31:55 -04:00
Install pre-commit Hook for ESP-IDF Project
===========================================
Required Dependency
-------------------
Python 3.6.1 or above. This is our recommendation python version for IDF developers.
If you still have python versions not compatible, please do not install pre-commit hook and update your python versions.
2020-10-30 07:31:55 -04:00
Install pre-commit
------------------
Run ``pip install pre-commit``
Install pre-commit hook
-----------------------
1. Go to the IDF Project Directory
2. Run ``pre-commit install --allow-missing-config``. Install hook by this approach will let you commit successfully even in branches without the ``.pre-commit-config.yaml``
3. pre-commit hook will run automatically when you're running ``git commit`` command
Uninstall pre-commit
--------------------
Run ``pre-commit uninstall``
2020-10-30 07:31:55 -04:00
What's More?
------------
For detailed usage, please refer to the documentation of pre-commit_.
2020-10-30 07:31:55 -04:00
.. _pre-commit: https://www.pre-commit.com/
2020-10-30 07:31:55 -04:00
Common Problems For Windows Users
---------------------------------
``/usr/bin/env: python: Permission denied.``
2020-10-30 07:31:55 -04:00
If you're in Git Bash or MSYS terminal, please check the python executable location by run ``which python``.
If the executable is under ``~/AppData/Local/Microsoft/WindowsApps/``, then it's a link to Windows AppStore, not a real one.
Please install python manually and update this in your ``PATH`` environment variable.
Your %USERPROFILE% contains non-ASCII characters
``pre-commit`` may fail when initializing an environment for a particular hook when the path of ``pre-commit``'s cache contains non-ASCII characters. The solution is to set ``PRE_COMMIT_HOME`` to a path containing only standard characters before running pre-commit.
- CMD: ``set PRE_COMMIT_HOME=C:\somepath\pre-commit``
- PowerShell: ``$Env:PRE_COMMIT_HOME = "C:\somepath\pre-commit"``
- git bash: ``export PRE_COMMIT_HOME="/c/somepath/pre-commit"``