CyberChef/Makefile

44 lines
1.3 KiB
Makefile
Raw Normal View History

2024-10-11 19:41:23 +02:00
# Variables
UPSTREAM_REPO := upstream
UPSTREAM_URL := https://github.com/gchq/CyberChef.git
FORK_REPO := origin
DEFAULT_BRANCH := main
# Default target if no target is specified
.DEFAULT_GOAL := help
# Help command
help:
@echo "Usage:"
@echo " make pr PR_ID=<PR_ID> - Fetch and push a PR from the upstream repo"
@echo " make setup-upstream - Set up upstream repo (idempotent)"
@echo " make clean PR_ID=<PR_ID> - Clean up the local PR branch"
# Setup upstream repo (idempotent)
setup-upstream:
@echo "Checking if upstream repo exists..."
@if ! git remote get-url $(UPSTREAM_REPO) >/dev/null 2>&1; then \
echo "Upstream repo not found. Adding upstream..."; \
git remote add $(UPSTREAM_REPO) $(UPSTREAM_URL); \
else \
echo "Upstream repo already exists."; \
fi
# Fetch the PR from upstream, create a branch, and push it to your fork
pr: setup-upstream
@if [ -z "$(PR_ID)" ]; then \
echo "Error: PR_ID is not set. Usage: make pr PR_ID=<PR_ID>"; \
exit 1; \
fi
git fetch $(UPSTREAM_REPO) pull/$(PR_ID)/head:pr-$(PR_ID)
git checkout pr-$(PR_ID)
git push $(FORK_REPO) pr-$(PR_ID)
# Clean up the local PR branch
clean:
@if [ -z "$(PR_ID)" ]; then \
echo "Error: PR_ID is not set. Usage: make clean PR_ID=<PR_ID>"; \
exit 1; \
fi
git branch -d pr-$(PR_ID)