blob: b4fce7ab55fb324a4702b4df1d4e07d1955b82a6 [file] [log] [blame] [edit]
#!/bin/bash -xe
# Clone the repository in a temporary directory if it doesn't exist
if [ ! -d "/tmp/vexxhost-${1}" ]; then
gh repo clone vexxhost/${1} /tmp/vexxhost-${1}
fi
# Switch to the repository
cd /tmp/vexxhost-${1}
# Allow all branches to be rebased
git remote set-branches upstream '*'
git fetch --all
# Update the repository
git fetch origin
git fetch upstream
# Loop over all of the upstream branches
for i in $(git branch -r | grep upstream); do
# Extract the branch name
branch=$(echo $i | sed 's/upstream\///g')
# Checkout the branch from origin if it exists, otherwise create from upstream
if git branch -r | grep -q origin/${branch}; then
git checkout -B ${branch} origin/${branch}
else
git checkout -B ${branch} upstream/${branch}
fi
# Rebase the branch from the upstream branch
git rebase upstream/${branch}
# Push this branch to the remote
git push -fu origin ${branch}
done