summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xscripts/create-pull-request24
1 files changed, 22 insertions, 2 deletions
diff --git a/scripts/create-pull-request b/scripts/create-pull-request
index 429421b24e..202d99d120 100755
--- a/scripts/create-pull-request
+++ b/scripts/create-pull-request
@@ -3,12 +3,14 @@ ODIR=pull-$$
3RELATIVE_TO="master" 3RELATIVE_TO="master"
4COMMIT_ID="HEAD" 4COMMIT_ID="HEAD"
5PREFIX="PATCH" 5PREFIX="PATCH"
6RFC=0
6 7
7usage() { 8usage() {
8CMD=$(basename $0) 9CMD=$(basename $0)
9cat <<EOM 10cat <<EOM
10Usage: $CMD [-h] [-o output_dir] [-m msg_body_file] [-s subject] [-r relative_to] [-i commit_id] -u remote -b branch 11Usage: $CMD [-h] [-o output_dir] [-m msg_body_file] [-s subject] [-r relative_to] [-i commit_id] -u remote -b branch
11 -b branch Branch name in the specified remote 12 -b branch Branch name in the specified remote
13 -c Create an RFC (Request for Comment) patch series
12 -h Display this help message 14 -h Display this help message
13 -i commit_id Ending commit (default: HEAD) 15 -i commit_id Ending commit (default: HEAD)
14 -m msg_body_file The file containing a blurb to be inserted into the summary email 16 -m msg_body_file The file containing a blurb to be inserted into the summary email
@@ -27,11 +29,14 @@ EOM
27} 29}
28 30
29# Parse and validate arguments 31# Parse and validate arguments
30while getopts "b:hi:m:o:p:r:s:u:" OPT; do 32while getopts "b:chi:m:o:p:r:s:u:" OPT; do
31 case $OPT in 33 case $OPT in
32 b) 34 b)
33 BRANCH="$OPTARG" 35 BRANCH="$OPTARG"
34 ;; 36 ;;
37 c)
38 RFC=1
39 ;;
35 h) 40 h)
36 usage 41 usage
37 exit 0 42 exit 0
@@ -89,6 +94,10 @@ if [ -z "$BRANCH" ] || [ -z "$REMOTE_URL" ]; then
89 exit 1 94 exit 1
90fi 95fi
91 96
97if [ $RFC -eq 1 ]; then
98 PREFIX="RFC $PREFIX"
99fi
100
92 101
93# Set WEB_URL from known remotes 102# Set WEB_URL from known remotes
94case "$REMOTE_URL" in 103case "$REMOTE_URL" in
@@ -125,7 +134,7 @@ git format-patch -M --subject-prefix="$PREFIX" -n -o $ODIR --thread=shallow --co
125# Customize the cover letter 134# Customize the cover letter
126CL="$ODIR/0000-cover-letter.patch" 135CL="$ODIR/0000-cover-letter.patch"
127PM="$ODIR/pull-msg" 136PM="$ODIR/pull-msg"
128git request-pull $RELATIVE_TO $REMOTE_URL $COMMIT_ID > "$PM" 137git request-pull $RELATIVE_TO $REMOTE_URL $COMMIT_ID >> "$PM"
129if [ $? -ne 0 ]; then 138if [ $? -ne 0 ]; then
130 echo "ERROR: git request-pull reported an error" 139 echo "ERROR: git request-pull reported an error"
131 exit 1 140 exit 1
@@ -136,6 +145,17 @@ fi
136sed -n "0,\#$REMOTE_URL# p" "$PM" | sed -i "/BLURB HERE/ r /dev/stdin" "$CL" 145sed -n "0,\#$REMOTE_URL# p" "$PM" | sed -i "/BLURB HERE/ r /dev/stdin" "$CL"
137rm "$PM" 146rm "$PM"
138 147
148# If this is an RFC, make that clear in the cover letter
149if [ $RFC -eq 1 ]; then
150(cat <<EOM
151Please review the following changes for suitability for inclusion. If you have
152any objections or suggestions for improvement, please respond to the patches. If
153you agree with the changes, please provide your Acked-by.
154
155EOM
156) | sed -i "/BLURB HERE/ r /dev/stdin" "$CL"
157fi
158
139# Insert the WEB_URL if there is one 159# Insert the WEB_URL if there is one
140if [ -n "$WEB_URL" ]; then 160if [ -n "$WEB_URL" ]; then
141 echo " $WEB_URL" | sed -i "\#$REMOTE_URL# r /dev/stdin" "$CL" 161 echo " $WEB_URL" | sed -i "\#$REMOTE_URL# r /dev/stdin" "$CL"