chore: pr script (#8)

This commit is contained in:
Owen Gretzinger
2025-07-14 17:46:38 -04:00
committed by GitHub
parent 892ecd3201
commit 89a413b8f1
Executable
+45
View File
@@ -0,0 +1,45 @@
#!/bin/bash
# Usage: ./solo-pr.sh "Your commit message here"
COMMIT_MSG=$1
if [ -z "$COMMIT_MSG" ]; then
echo "Usage: ./solo-pr.sh \"Commit message\""
exit 1
fi
# Check for staged changes
if ! git diff --cached --quiet; then
:
else
echo "No staged changes to commit. Please stage your changes before running this script."
exit 1
fi
# Step 1: Generate branch name from commit message
BRANCH_NAME=$(echo "$COMMIT_MSG" \
| tr '[:upper:]' '[:lower:]' \
| sed -E 's/[^a-z0-9]+/-/g' \
| sed -E 's/^-+|-+$//g' \
| cut -c1-50) # Limit to 50 chars
echo "Creating branch: $BRANCH_NAME"
# Step 2: Create new branch and commit
git checkout -b "$BRANCH_NAME"
# git add . # we will manually add files so that we only commit the changes we want
git commit -m "$COMMIT_MSG"
# Step 3: Push branch
git push -u origin "$BRANCH_NAME"
# Step 4: Create PR
gh pr create --title "$COMMIT_MSG" --body "$COMMIT_MSG" --base main --head "$BRANCH_NAME"
# Step 5: Merge PR
gh pr merge "$BRANCH_NAME" --squash --delete-branch
# Step 6: Return to main and pull
git checkout main
git pull origin main