Mirror von
https://github.com/PaperMC/Paper.git
synchronisiert 2024-12-15 02:50:09 +01:00
[CI-SKIP] Add copy of my checkout-pr script for other team members
Dieser Commit ist enthalten in:
Ursprung
3491f5542e
Commit
004b92b0e8
37
scripts/checkoutpr.sh
Ausführbare Datei
37
scripts/checkoutpr.sh
Ausführbare Datei
@ -0,0 +1,37 @@
|
||||
#!/bin/bash
|
||||
if [ -z "$1" ]; then
|
||||
echo "$0 <prID>"
|
||||
exit 1;
|
||||
fi
|
||||
data=$(curl -q https://api.github.com/repos/PaperMC/Paper/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
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren