#!/usr/bin/env bash # # Echo and exit # abort() { echo $@ exit 1 } # # Produce json with , <body>, and <head> # json() { cat <<EOF { "title": "$1", "body": "$2", "head": "$3", "base": "master" } EOF } # user user=$(git config --global user.email) test -z "$user" && abort "git config user.email required" # branch branch=${1-$(git symbolic-ref HEAD)} # lame hack to get project project=$(git config remote.origin.url | sed 's/^.*://' | sed 's/\.git$//') # prompt echo echo " create pull-request for $project '$branch'" echo printf " title: " && read title printf " body: " && read body echo # create pull request body=$(json $title $body $branch) curl -u "$user" https://api.github.com/repos/$project/pulls -d $body