33 lines
1.1 KiB
Bash
Executable File
33 lines
1.1 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
set -e
|
|
# github pr helper
|
|
# push current branch to ORIGIN and create a PR on UPSTREAM
|
|
# UPSTREAM must be a https github url
|
|
if [ -n "$PROXY_HOST" ] && [ -n "$PROXY_PORT" ]; then
|
|
export HTTP_PROXY=http://$PROXY_HOST:$PROXY_PORT
|
|
echo HTTP_PROXY=$HTTP_PROXY
|
|
echo HTTPS_PROXY=$HTTP_PROXY
|
|
fi
|
|
|
|
BRANCH=$(git branch --show-current)
|
|
UPSTREAM_BRANCH=$(HTTPS_PROXY=$HTTP_PROXY git remote show upstream | grep -oP 'HEAD branch: \K\w+')
|
|
ORIGIN_URL=$(git remote get-url origin)
|
|
case "$ORIGIN_URL" in
|
|
git@github.com:*)
|
|
ORIGIN_ORG=$(printf "$ORIGIN_URL" | sed -E 's#^.+:([^/]+).+$#\1#')
|
|
# ORIGIN=$(printf "$ORIGIN_URL" | grep -oP 'git@github.com:\K.+(?=\.git$)')
|
|
;;
|
|
esac
|
|
UPSTREAM_URL=$(git remote get-url upstream)
|
|
UPSTREAM_URL=$(echo "$UPSTREAM_URL" | sed 's/.git$//')
|
|
echo ORIGIN_ORG: $ORIGIN_ORG
|
|
echo UPSTREAM_URL: $UPSTREAM_URL
|
|
git push -f -u origin $BRANCH
|
|
x-open "$UPSTREAM_URL/compare/$UPSTREAM_BRANCH...$ORIGIN_ORG:$BRANCH?expand=1"
|
|
sleep 2
|
|
command -v awesome-client && awesome-client '
|
|
local awful = require("awful")
|
|
awful.client.urgent.jumpto()
|
|
'
|