Files
2026-07-13 12:22:33 +08:00

78 lines
2.2 KiB
Bash
Executable File

#!/bin/bash
# Prepare a clean branch for upstream PR submission
# Usage: ./Scripts/prepare_upstream_pr.sh <feature-name>
set -e
FEATURE_NAME=$1
# Colors
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m'
if [ -z "$FEATURE_NAME" ]; then
echo -e "${RED}Error: Feature name required${NC}"
echo "Usage: ./Scripts/prepare_upstream_pr.sh <feature-name>"
echo ""
echo "Examples:"
echo " ./Scripts/prepare_upstream_pr.sh fix-cursor-bonus"
echo " ./Scripts/prepare_upstream_pr.sh improve-cookie-handling"
exit 1
fi
BRANCH_NAME="upstream-pr/$FEATURE_NAME"
echo -e "${BLUE}==> Fetching latest upstream...${NC}"
git fetch upstream
echo -e "${BLUE}==> Creating upstream PR branch from upstream/main...${NC}"
git checkout upstream/main
git checkout -b "$BRANCH_NAME"
echo ""
echo -e "${GREEN}==> Branch created: $BRANCH_NAME${NC}"
echo ""
echo -e "${YELLOW}⚠️ IMPORTANT: This branch is for UPSTREAM submission${NC}"
echo ""
echo -e "${BLUE}Guidelines for upstream PRs:${NC}"
echo ""
echo "✅ DO include:"
echo " - Bug fixes that affect all users"
echo " - Performance improvements"
echo " - Provider enhancements (generic)"
echo " - Documentation improvements"
echo " - Test coverage"
echo ""
echo "❌ DO NOT include:"
echo " - Fork branding (About.swift, PreferencesAboutPane.swift)"
echo " - Fork-specific features (multi-account, etc.)"
echo " - References to topoffunnel.com"
echo " - Experimental features"
echo ""
echo -e "${BLUE}Next steps:${NC}"
echo ""
echo "1. Cherry-pick your commits (clean, no fork branding):"
echo " ${GREEN}git cherry-pick <commit-hash>${NC}"
echo ""
echo "2. Or manually apply changes:"
echo " ${GREEN}# Edit files${NC}"
echo " ${GREEN}git add <files>${NC}"
echo " ${GREEN}git commit -m 'fix: description'${NC}"
echo ""
echo "3. Ensure tests pass:"
echo " ${GREEN}make test${NC}"
echo ""
echo "4. Review changes:"
echo " ${GREEN}git diff upstream/main${NC}"
echo ""
echo "5. Push to your fork:"
echo " ${GREEN}git push origin $BRANCH_NAME${NC}"
echo ""
echo "6. Create PR on GitHub:"
echo " ${GREEN}https://github.com/steipete/CodexBar/compare/main...topoffunnel:$BRANCH_NAME${NC}"
echo ""
echo -e "${YELLOW}Remember: Keep PRs small and focused for better merge chances!${NC}"