[OE-core] [PATCH] create-pull-request: add "-t in-reply-to" option

Jose Lamego jose.a.lamego at linux.intel.com
Wed Apr 5 19:35:17 UTC 2017



On 04/05/2017 09:00 AM, Leonardo Sandoval wrote:
> On Tue, 2017-04-04 at 16:45 -0500, Jose Lamego wrote:
>> The create-patch-request script creates patches as replies to a cover
> 
> you mean create-pull-request, I believe
> 
>> letter, in the form of an email thread. If further revisions are sent to
>> the mailing list without referencing to the first revision, these new
>> revisions are not identified at the mailing list as part of the original
>> thread, but as a new thread instead.
>>
>> This change adds the "[-t in_reply_to]" option, where "in_reply_to" is
>> the original cover letter's Message-Id, so this reference is added
>> to the new cover letter to ensure the thread continuity.
>>
> 
> 
> BTW, is there an easy way to get the in-reply-to email besides using
> git-pw or looking at the message source?

That's a good question, I actually don't know of an easier way of
knowing the Message-Id. Will further investigate.

> 
> Some comments in patch:
> 
Thanks Leo!
> 
> 
> 
>> [YOCTO #11294]
>>
>> Signed-off-by: Jose Lamego <jose.a.lamego at linux.intel.com>
>> ---
>>  scripts/create-pull-request | 14 +++++++++++---
>>  1 file changed, 11 insertions(+), 3 deletions(-)
>>
>> diff --git a/scripts/create-pull-request b/scripts/create-pull-request
>> index e82858b..46d6538 100755
>> --- a/scripts/create-pull-request
>> +++ b/scripts/create-pull-request
>> @@ -34,7 +34,7 @@ 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] [-d relative_dir] -u remote [-b branch]
>> +Usage: $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]
>>    -b branch           Branch name in the specified remote (default: current branch)
>>    -l local branch     Local branch name (default: HEAD)
>>    -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
>>    -s subject          The subject to be inserted into the summary email
>>    -u remote           The git remote where the branch is located, or set CPR_CONTRIB_REMOTE in env
>>    -d relative_dir     Generate patches relative to directory
>> +  -t in_reply_to      Make mails appear as replies to the given Message-Id, to continue patch/series threads
>>  
>>   Examples:
>>     $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
>>     $CMD -u contrib -r master -i misc -b nitin/misc -o pull-misc
>>     $CMD -u contrib -p "RFC PATCH" -b nitin/experimental
>>     $CMD -u contrib -i misc -b nitin/misc -d ./bitbake
>> +   $CMD -u contrib -p "OE-core][PATCH v2" -t "<cover.11146.git.john.doe at example.com>"
>>  EOM
>>  }
>>  
>>  REMOTE="$CPR_CONTRIB_REMOTE"
>>  # Parse and validate arguments
>> -while getopts "b:acd:hi:m:o:p:r:s:u:l:" OPT; do
>> +while getopts "b:acd:hi:m:o:p:r:s:u:l:t:" OPT; do
>>  	case $OPT in
>>  	b)
>>  		BRANCH="$OPTARG"
>> @@ -108,6 +110,8 @@ while getopts "b:acd:hi:m:o:p:r:s:u:l:" OPT; do
>>  	a)
>>  		CPR_CONTRIB_AUTO_PUSH="1"
>>  		;;
>> +        t)
>> +                IN_REPLY_TO="$OPTARG"
> 
> it would be nice to include also the double semi-colon, so future cases
> just start after it.
> 
done in v2 patch.
> 
>>  	esac
>>  done
>>  
>> @@ -205,7 +209,11 @@ if [ -n "$RELDIR" ]; then
>>  fi
>>  
>>  # Generate the patches and cover letter
>> -git format-patch $extraopts -M40 --subject-prefix="$PREFIX" -n -o $ODIR --thread=shallow --cover-letter $RELATIVE_TO..$COMMIT_ID > /dev/null
>> +if [ -z "$IN_REPLY_TO" ]; then
> 
> -n instead of -z?
> 
also done in v2 patch

>> +    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
>> +else
>> +    git format-patch $extraopts -M40 --subject-prefix="$PREFIX" -n -o $ODIR --thread=shallow --cover-letter $RELATIVE_TO..$COMMIT_ID > /dev/null
>> +fi
>>  
>>  if [ -z "$(ls -A $ODIR 2> /dev/null)" ]; then
>>      echo "ERROR: $ODIR is empty, no cover letter and patches was generated!"
>> -- 
>> 2.7.4
>>
> 
> 

-- 
Jose Lamego | OTC Embedded Platforms & Tools | GDC

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: OpenPGP digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20170405/0375ecf3/attachment-0002.sig>


More information about the Openembedded-core mailing list