summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/create-pull-request14
1 files changed, 11 insertions, 3 deletions
diff --git a/scripts/create-pull-request b/scripts/create-pull-request
index e82858bc98..46d65386a3 100755
--- a/scripts/create-pull-request
+++ b/scripts/create-pull-request
@@ -34,7 +34,7 @@ RFC=0
34usage() { 34usage() {
35CMD=$(basename $0) 35CMD=$(basename $0)
36cat <<EOM 36cat <<EOM
37Usage: $CMD [-h] [-o output_dir] [-m msg_body_file] [-s subject] [-r relative_to] [-i commit_id] [-d relative_dir] -u remote [-b branch] 37Usage: $CMD [-h] [-o output_dir] [-m msg_body_file] [-s subject] [-r relative_to] [-i commit_id] [-d relative_dir] -u remote [-b branch] [-t in_reply_to]
38 -b branch Branch name in the specified remote (default: current branch) 38 -b branch Branch name in the specified remote (default: current branch)
39 -l local branch Local branch name (default: HEAD) 39 -l local branch Local branch name (default: HEAD)
40 -c Create an RFC (Request for Comment) patch series 40 -c Create an RFC (Request for Comment) patch series
@@ -49,6 +49,7 @@ Usage: $CMD [-h] [-o output_dir] [-m msg_body_file] [-s subject] [-r relative_to
49 -s subject The subject to be inserted into the summary email 49 -s subject The subject to be inserted into the summary email
50 -u remote The git remote where the branch is located, or set CPR_CONTRIB_REMOTE in env 50 -u remote The git remote where the branch is located, or set CPR_CONTRIB_REMOTE in env
51 -d relative_dir Generate patches relative to directory 51 -d relative_dir Generate patches relative to directory
52 -t in_reply_to Make mails appear as replies to the given Message-Id, to continue patch/series threads
52 53
53 Examples: 54 Examples:
54 $CMD -u contrib -b nitin/basic 55 $CMD -u contrib -b nitin/basic
@@ -57,12 +58,13 @@ Usage: $CMD [-h] [-o output_dir] [-m msg_body_file] [-s subject] [-r relative_to
57 $CMD -u contrib -r master -i misc -b nitin/misc -o pull-misc 58 $CMD -u contrib -r master -i misc -b nitin/misc -o pull-misc
58 $CMD -u contrib -p "RFC PATCH" -b nitin/experimental 59 $CMD -u contrib -p "RFC PATCH" -b nitin/experimental
59 $CMD -u contrib -i misc -b nitin/misc -d ./bitbake 60 $CMD -u contrib -i misc -b nitin/misc -d ./bitbake
61 $CMD -u contrib -p "OE-core][PATCH v2" -t "<cover.11146.git.john.doe@example.com>"
60EOM 62EOM
61} 63}
62 64
63REMOTE="$CPR_CONTRIB_REMOTE" 65REMOTE="$CPR_CONTRIB_REMOTE"
64# Parse and validate arguments 66# Parse and validate arguments
65while getopts "b:acd:hi:m:o:p:r:s:u:l:" OPT; do 67while getopts "b:acd:hi:m:o:p:r:s:u:l:t:" OPT; do
66 case $OPT in 68 case $OPT in
67 b) 69 b)
68 BRANCH="$OPTARG" 70 BRANCH="$OPTARG"
@@ -108,6 +110,8 @@ while getopts "b:acd:hi:m:o:p:r:s:u:l:" OPT; do
108 a) 110 a)
109 CPR_CONTRIB_AUTO_PUSH="1" 111 CPR_CONTRIB_AUTO_PUSH="1"
110 ;; 112 ;;
113 t)
114 IN_REPLY_TO="$OPTARG"
111 esac 115 esac
112done 116done
113 117
@@ -205,7 +209,11 @@ if [ -n "$RELDIR" ]; then
205fi 209fi
206 210
207# Generate the patches and cover letter 211# Generate the patches and cover letter
208git format-patch $extraopts -M40 --subject-prefix="$PREFIX" -n -o $ODIR --thread=shallow --cover-letter $RELATIVE_TO..$COMMIT_ID > /dev/null 212if [ -z "$IN_REPLY_TO" ]; then
213 git format-patch $extraopts -M40 --subject-prefix="$PREFIX" -n -o $ODIR --thread=shallow --in-reply-to="$IN_REPLY_TO" --cover-letter $RELATIVE_TO..$COMMIT_ID > /dev/null
214else
215 git format-patch $extraopts -M40 --subject-prefix="$PREFIX" -n -o $ODIR --thread=shallow --cover-letter $RELATIVE_TO..$COMMIT_ID > /dev/null
216fi
209 217
210if [ -z "$(ls -A $ODIR 2> /dev/null)" ]; then 218if [ -z "$(ls -A $ODIR 2> /dev/null)" ]; then
211 echo "ERROR: $ODIR is empty, no cover letter and patches was generated!" 219 echo "ERROR: $ODIR is empty, no cover letter and patches was generated!"