1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
#!/bin/bash
# Ensure repository has at least one commit (skip on initial commit)
git rev-parse --verify HEAD >/dev/null 2>&1 || exit 0
# Check for direct commits to main
branch=$(git branch --show-current)
if [[ "$branch" == "main" ]]; then
echo -e "\e[31mERR:\e[0m Direct commits to main are not allowed.\n"
echo -e "Switch to a feature branch and raise a PR.\n"
exit 1
fi
# Check for .terraform/ in staged files
if git diff --cached --name-only | grep -q '\.terraform/'; then
echo -e "\e[31mERR:\e[0m Staged .terraform/ directory detected.\n"
echo -e "Add .terraform/ to .gitignore and unstage it.\n"
exit 1
fi
# Check for conflict markers in staged files
if git diff --cached | grep -q '^+.*<<<<<<<'; then
echo -e "\e[31mERR:\e[0m Conflict markers detected in staged files.\n"
echo -e "Resolve all merge conflicts before committing.\n"
exit 1
fi
exit 0
|