mirror of
https://github.com/MLSysBook/TinyTorch.git
synced 2026-04-29 00:27:32 -05:00
41 lines
1.6 KiB
Bash
Executable File
41 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
|
# TinyTorch Pre-Push Hook
|
|
# Prevents accidental pushes to the main TinyTorch repository
|
|
|
|
UPSTREAM_REPO="github.com/mlsysbook/TinyTorch"
|
|
PROTECTED_BRANCHES="main dev master"
|
|
|
|
# Check if we're pushing to the upstream repo
|
|
remote_url=$(git remote get-url --push "$1" 2>/dev/null)
|
|
|
|
if echo "$remote_url" | grep -q "$UPSTREAM_REPO"; then
|
|
# Check if we're pushing to a protected branch
|
|
while read local_ref local_sha remote_ref remote_sha; do
|
|
branch_name=$(echo "$remote_ref" | sed 's/refs\/heads\///')
|
|
|
|
for protected in $PROTECTED_BRANCHES; do
|
|
if [ "$branch_name" = "$protected" ]; then
|
|
echo "❌ ERROR: Pushing to $branch_name on $UPSTREAM_REPO is not allowed!"
|
|
echo ""
|
|
echo "This is the upstream TinyTorch repository, not your personal fork."
|
|
echo ""
|
|
echo "If you're a student:"
|
|
echo " 1. Create your own fork: https://github.com/mlsysbook/TinyTorch/fork"
|
|
echo " 2. Add your fork as a remote: git remote add my-fork <your-fork-url>"
|
|
echo " 3. Push to your fork: git push my-fork $branch_name"
|
|
echo ""
|
|
echo "If you're a contributor:"
|
|
echo " 1. Create a feature branch: git checkout -b feature/my-feature"
|
|
echo " 2. Push your branch: git push origin feature/my-feature"
|
|
echo " 3. Open a Pull Request on GitHub"
|
|
echo ""
|
|
exit 1
|
|
fi
|
|
done
|
|
done
|
|
|
|
echo "✅ Pushing to feature branch is allowed"
|
|
fi
|
|
|
|
exit 0
|