]> code.ossystems Code Review - openembedded-core.git/commitdiff
create-pull-request: add option -a to auto push
authorRobert Yang <liezhi.yang@windriver.com>
Wed, 20 Apr 2016 00:30:03 +0000 (17:30 -0700)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 4 Aug 2016 14:05:48 +0000 (15:05 +0100)
Before this patch, we need two steps to create PULL:
* Step 1, create branch:
  $ git push <contrib> <local_branch>:<remote_branch>
* Step 2, create PULL:
  $ create-pull-request -u <contrib> -l <local_branch> -b <remote_branch> -r <local_branch>~<n>

We can see that the args used in step 1 are in step 2, so we can use
"create-pull-request -a" or set CPR_CONTRIB_AUTO_PUSH in to create the
branch to simplify the steps.

[YOCTO #9408]

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
scripts/create-pull-request

index 479ad6efc9af6fadc1de909b07ccafd221ec788d..a60d5b03307d0486c3c0376ab57051a0e309fb8c 100755 (executable)
@@ -39,6 +39,8 @@ Usage: $CMD [-h] [-o output_dir] [-m msg_body_file] [-s subject] [-r relative_to
   -l local branch     Local branch name (default: HEAD)
   -c                  Create an RFC (Request for Comment) patch series
   -h                  Display this help message
+  -a                  Automatically push local branch (-l) to remote branch (-b),
+                      or set CPR_CONTRIB_AUTO_PUSH in env
   -i commit_id        Ending commit (default: HEAD)
   -m msg_body_file    The file containing a blurb to be inserted into the summary email
   -o output_dir       Specify the output directory for the messages (default: pull-PID)
@@ -59,7 +61,7 @@ EOM
 }
 
 # Parse and validate arguments
-while getopts "b:cd:hi:m:o:p:r:s:u:l:" OPT; do
+while getopts "b:acd:hi:m:o:p:r:s:u:l:" OPT; do
        case $OPT in
        b)
                BRANCH="$OPTARG"
@@ -127,6 +129,9 @@ while getopts "b:cd:hi:m:o:p:r:s:u:l:" OPT; do
                        ;;
                esac
                ;;
+       a)
+               CPR_CONTRIB_AUTO_PUSH="1"
+               ;;
        esac
 done
 
@@ -171,6 +176,11 @@ esac
 # Perform a sanity test on the web URL. Issue a warning if it is not
 # accessible, but do not abort as users may want to run offline.
 if [ -n "$WEB_URL" ]; then
+       if [ "$CPR_CONTRIB_AUTO_PUSH" = "1" ]; then
+               echo "Pushing '$BRANCH' on '$REMOTE' as requested..."
+               git push $REMOTE $L_BRANCH:$BRANCH
+               echo ""
+       fi
        wget --no-check-certificate -q $WEB_URL -O /dev/null
        if [ $? -ne 0 ]; then
                echo "WARNING: Branch '$BRANCH' was not found on the contrib git tree."