#!/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() '