mirror of
https://github.com/juanfont/headscale.git
synced 2025-11-17 16:31:16 +01:00
28 lines
852 B
Bash
Executable File
28 lines
852 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# Wrapper script for golangci-lint pre-commit hook
|
|
# Finds where the current branch diverged from the main branch
|
|
|
|
set -euo pipefail
|
|
|
|
# Try to find the main branch reference in order of preference:
|
|
# 1. upstream/main (common in forks)
|
|
# 2. origin/main (common in direct clones)
|
|
# 3. main (local branch)
|
|
for ref in upstream/main origin/main main; do
|
|
if git rev-parse --verify "$ref" >/dev/null 2>&1; then
|
|
MAIN_REF="$ref"
|
|
break
|
|
fi
|
|
done
|
|
|
|
# If we couldn't find any main branch, just check the last commit
|
|
if [ -z "${MAIN_REF:-}" ]; then
|
|
MAIN_REF="HEAD~1"
|
|
fi
|
|
|
|
# Find where current branch diverged from main
|
|
MERGE_BASE=$(git merge-base HEAD "$MAIN_REF" 2>/dev/null || echo "HEAD~1")
|
|
|
|
# Run golangci-lint only on changes since branch point
|
|
exec golangci-lint run --new-from-rev="$MERGE_BASE" --timeout=5m --fix
|