mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-27 23:10:16 +01:00
4bc185d0d7
My turn to make "this cant possibly break" changes to the scripts.
38 lines
No EOL
1.1 KiB
Bash
Executable file
38 lines
No EOL
1.1 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
if [ -z "$1" ]; then
|
|
echo "$0 <prID>"
|
|
exit 1;
|
|
fi
|
|
repo=$(git remote get-url origin | sed -E 's/github.com(:|\/)//g')
|
|
data=$(curl -q https://api.github.com/repos/$repo/pulls/$1 2>/dev/null)
|
|
url=$(echo -e "$data" | grep --color=none ssh_url | head -n 1 |awk '{print $2}' | sed 's/"//g' | sed 's/,//g')
|
|
ref=$(echo -e "$data" | grep --color=none '"head":' -A 3 | grep ref | head -n 1 |awk '{print $2}' | sed 's/"//g' | sed 's/,//g')
|
|
prevbranch=$(\git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/')
|
|
branch="pr/$1"
|
|
up="pr-$1"
|
|
git remote remove $up 2>&1 1>/dev/null
|
|
git remote add -f $up $url
|
|
git branch -D $branch 2>/dev/null 1>&2
|
|
git checkout -b $branch $up/$ref 2>/dev/null|| true
|
|
echo "Merging $prevbranch into $branch"
|
|
git fetch origin
|
|
git merge origin/$prevbranch
|
|
|
|
echo "Dropping to new shell, exit to delete the refs"
|
|
bash -i
|
|
|
|
read -p "Press 'p' to push. " -n 1 -r >&2
|
|
echo
|
|
if [[ "d$REPLY" =~ ^d[Pp]$ ]]; then
|
|
git push $up $branch:$ref -f
|
|
|
|
echo "Pushed" >&2
|
|
fi
|
|
|
|
echo "Deleting branch/upstream"
|
|
git checkout $prevbranch
|
|
git branch -D $branch
|
|
git remote remove $up
|
|
git gc
|
|
#git branch -u $up/$ref $branch
|
|
#git checkout $branch |