blob: b6bdc2bb2077e28165b18efcc120eca9a20b1704 [file]
#!/bin/bash
# Helper script to set up upstream tracking for fork-and-PR workflow.
set -e
# Detect current branch if not provided as argument
BRANCH_NAME="${1:-$(git symbolic-ref --short HEAD)}"
if [ -z "$BRANCH_NAME" ]; then
echo "Error: Could not detect current branch name." >&2
exit 1
fi
echo "Setting up upstream tracking for branch: $BRANCH_NAME"
# 1. Set the pull/fetch behavior to track the canonical repo's main branch
git config --local "branch.${BRANCH_NAME}.remote" upstream
git config --local "branch.${BRANCH_NAME}.merge" refs/heads/main
# 2. Override the destination remote for pushing
git config --local "branch.${BRANCH_NAME}.pushRemote" origin
# 3. Defend against global push.default settings (ensure it pushes to current branch name)
git config --local push.default current
echo "Successfully configured upstream/main tracking and origin pushRemote for $BRANCH_NAME!"