|
@@ -3,12 +3,14 @@ ODIR=pull-$$
|
|
|
RELATIVE_TO="master"
|
|
|
COMMIT_ID="HEAD"
|
|
|
PREFIX="PATCH"
|
|
|
+RFC=0
|
|
|
|
|
|
usage() {
|
|
|
CMD=$(basename $0)
|
|
|
cat <<EOM
|
|
|
Usage: $CMD [-h] [-o output_dir] [-m msg_body_file] [-s subject] [-r relative_to] [-i commit_id] -u remote -b branch
|
|
|
-b branch Branch name in the specified remote
|
|
|
+ -c Create an RFC (Request for Comment) patch series
|
|
|
-h Display this help message
|
|
|
-i commit_id Ending commit (default: HEAD)
|
|
|
-m msg_body_file The file containing a blurb to be inserted into the summary email
|
|
@@ -27,11 +29,14 @@ EOM
|
|
|
}
|
|
|
|
|
|
# Parse and validate arguments
|
|
|
-while getopts "b:hi:m:o:p:r:s:u:" OPT; do
|
|
|
+while getopts "b:chi:m:o:p:r:s:u:" OPT; do
|
|
|
case $OPT in
|
|
|
b)
|
|
|
BRANCH="$OPTARG"
|
|
|
;;
|
|
|
+ c)
|
|
|
+ RFC=1
|
|
|
+ ;;
|
|
|
h)
|
|
|
usage
|
|
|
exit 0
|
|
@@ -89,6 +94,10 @@ if [ -z "$BRANCH" ] || [ -z "$REMOTE_URL" ]; then
|
|
|
exit 1
|
|
|
fi
|
|
|
|
|
|
+if [ $RFC -eq 1 ]; then
|
|
|
+ PREFIX="RFC $PREFIX"
|
|
|
+fi
|
|
|
+
|
|
|
|
|
|
# Set WEB_URL from known remotes
|
|
|
case "$REMOTE_URL" in
|
|
@@ -125,7 +134,7 @@ git format-patch -M --subject-prefix="$PREFIX" -n -o $ODIR --thread=shallow --co
|
|
|
# Customize the cover letter
|
|
|
CL="$ODIR/0000-cover-letter.patch"
|
|
|
PM="$ODIR/pull-msg"
|
|
|
-git request-pull $RELATIVE_TO $REMOTE_URL $COMMIT_ID > "$PM"
|
|
|
+git request-pull $RELATIVE_TO $REMOTE_URL $COMMIT_ID >> "$PM"
|
|
|
if [ $? -ne 0 ]; then
|
|
|
echo "ERROR: git request-pull reported an error"
|
|
|
exit 1
|
|
@@ -136,6 +145,17 @@ fi
|
|
|
sed -n "0,\#$REMOTE_URL# p" "$PM" | sed -i "/BLURB HERE/ r /dev/stdin" "$CL"
|
|
|
rm "$PM"
|
|
|
|
|
|
+# If this is an RFC, make that clear in the cover letter
|
|
|
+if [ $RFC -eq 1 ]; then
|
|
|
+(cat <<EOM
|
|
|
+Please review the following changes for suitability for inclusion. If you have
|
|
|
+any objections or suggestions for improvement, please respond to the patches. If
|
|
|
+you agree with the changes, please provide your Acked-by.
|
|
|
+
|
|
|
+EOM
|
|
|
+) | sed -i "/BLURB HERE/ r /dev/stdin" "$CL"
|
|
|
+fi
|
|
|
+
|
|
|
# Insert the WEB_URL if there is one
|
|
|
if [ -n "$WEB_URL" ]; then
|
|
|
echo " $WEB_URL" | sed -i "\#$REMOTE_URL# r /dev/stdin" "$CL"
|