]> git.wh0rd.org - home.git/blob - .bin/git-format-request-pull
9845b00789e81593273a284ffe55f5978da576eb
[home.git] / .bin / git-format-request-pull
1 #!/bin/bash
2
3 usage() {
4 echo "Usage: git-request-pull-send-email <commit> [branch]"
5 exit ${1:-0}
6 }
7
8 auto=false
9 while [[ -n $1 ]] ; do
10 case $1 in
11 -h|--help) usage;;
12 -e) auto=true;;
13 --) shift; break;;
14 -*) usage 1;;
15 *) break;
16 esac
17 shift
18 done
19
20 commit=$1
21 url=$(git config --get remote.origin.url)
22 branch=${2:-master}
23
24 if [[ -z ${commit} ]] || [[ -n $3 ]] ; then
25 usage 1
26 fi
27
28 name=$(git config --get user.name)
29 email=$(git config --get user.email)
30 tmp=$(mktemp)
31 cat << EOF > ${tmp}
32 From: ${name} <${email}>
33 Date: $(date -R)
34 Subject: Pull request ${url##*/}
35
36 $(git request-pull ${commit} ${url} ${branch})
37 EOF
38 cat ${tmp}
39
40 to=$(git config --get sendemail.pullrequest)
41 cc=$(git config --get sendemail.to)
42 if ${auto} ; then
43 git send-email --to "${to}" --cc "${cc}" ${tmp}
44 else
45 echo git send-email --to \"${to}\" --cc \"${cc}\" ... 1>&2
46 fi
47 rm -f ${tmp}