search tried in the issue tracker
install-hooks
describe your issue
I want to build a docker container in which pre-commit hooks are already installed but running pre-commit install-hooks -c .pre-commit-config.yaml fails: An error has occurred: FatalError: git failed. Is it installed, and are you in a Git repository directory?
There are various workarounds such as copying the .git directory inside the container or creating a temporary git repo but I think it's useful to just allow install-hooks to work with just a config file
pre-commit --version
pre-commit 2.19.0
.pre-commit-config.yaml
# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.2.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- id: check-yaml
- id: check-added-large-files
~/.cache/pre-commit/pre-commit.log (if present)
An error has occurred: FatalError: git failed. Is it installed, and are you in a Git repository directory?
Check the log at /root/.cache/pre-commit/pre-commit.log
version information
pre-commit version: 2.19.0
git --version: git version 2.34.1
sys.version:
3.10.4 (main, Apr 2 2022, 09:04:19) [GCC 11.2.0]
sys.executable: /usr/bin/python3
os.name: posix
sys.platform: linux
error information
An error has occurred: FatalError: git failed. Is it installed, and are you in a Git repository directory?
Traceback (most recent call last):
File "/usr/local/lib/python3.10/dist-packages/pre_commit/git.py", line 58, in get_root
cmd_output('git', 'rev-parse', '--show-cdup')[1].strip(),
File "/usr/local/lib/python3.10/dist-packages/pre_commit/util.py", line 152, in cmd_output
returncode, stdout_b, stderr_b = cmd_output_b(*cmd, **kwargs)
File "/usr/local/lib/python3.10/dist-packages/pre_commit/util.py", line 146, in cmd_output_b
raise CalledProcessError(returncode, cmd, retcode, stdout_b, stderr_b)
pre_commit.util.CalledProcessError: command: ('/usr/bin/git', 'rev-parse', '--show-cdup')
return code: 128
expected return code: 0
stdout: (none)
stderr:
fatal: not a git repository (or any of the parent directories): .git
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.10/dist-packages/pre_commit/error_handler.py", line 73, in error_handler
yield
File "/usr/local/lib/python3.10/dist-packages/pre_commit/main.py", line 344, in main
_adjust_args_and_chdir(args)
File "/usr/local/lib/python3.10/dist-packages/pre_commit/main.py", line 147, in _adjust_args_and_chdir
toplevel = git.get_root()
File "/usr/local/lib/python3.10/dist-packages/pre_commit/git.py", line 64, in get_root
raise FatalError(
pre_commit.errors.FatalError: git failed. Is it installed, and are you in a Git repository directory?
search tried in the issue tracker
install-hooks
describe your issue
I want to build a docker container in which pre-commit hooks are already installed but running
pre-commit install-hooks -c .pre-commit-config.yamlfails:An error has occurred: FatalError: git failed. Is it installed, and are you in a Git repository directory?There are various workarounds such as copying the .git directory inside the container or creating a temporary git repo but I think it's useful to just allow
install-hooksto work with just a config filepre-commit --version
pre-commit 2.19.0
.pre-commit-config.yaml
~/.cache/pre-commit/pre-commit.log (if present)
An error has occurred: FatalError: git failed. Is it installed, and are you in a Git repository directory?
Check the log at /root/.cache/pre-commit/pre-commit.log
version information
error information