28 lines
769 B
Python
28 lines
769 B
Python
#!/usr/bin/env python3
|
|
"""Helper script to be used as a pre-commit hook."""
|
|
import os
|
|
import sys
|
|
import subprocess
|
|
|
|
|
|
def gitleaksEnabled():
|
|
"""Determine if the pre-commit hook for gitleaks is enabled."""
|
|
out = subprocess.getoutput("git config --bool hooks.gitleaks")
|
|
if out == "false":
|
|
return False
|
|
return True
|
|
|
|
|
|
if gitleaksEnabled():
|
|
exitCode = os.WEXITSTATUS(os.system('gitleaks protect -v --staged'))
|
|
if exitCode == 1:
|
|
print('''Warning: gitleaks has detected sensitive information in your changes.
|
|
To disable the gitleaks precommit hook run the following command:
|
|
|
|
git config hooks.gitleaks false
|
|
''')
|
|
sys.exit(1)
|
|
else:
|
|
print('gitleaks precommit disabled\
|
|
(enable with `git config hooks.gitleaks true`)')
|