create-pull-request: fix for newer git

Fixed when git > 2.1.0:
$ ./scripts/create-pull-request -r HEAD^ -u contrib -b rbt/git
fatal: Not a valid revision: rbt/git
ERROR: git request-pull reported an error

This is because newer git requires both local and remote branch named as
rbt/git, but usually, we only named the remote branch as rbt/foo, and
foo for local branch.

Add a option '-l' to fix the problem, default is HEAD.

(From OE-Core rev: 98faa3ec872e06774b5870fcfb52f3ff91494779)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Robert Yang 2016-04-05 19:31:27 -07:00 committed by Richard Purdie
parent 4faeff9286
commit 298d875fac
1 changed files with 12 additions and 2 deletions

View File

@ -36,6 +36,7 @@ CMD=$(basename $0)
cat <<EOM 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]
-b branch Branch name in the specified remote (default: current branch) -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 -c Create an RFC (Request for Comment) patch series
-h Display this help message -h Display this help message
-i commit_id Ending commit (default: HEAD) -i commit_id Ending commit (default: HEAD)
@ -50,6 +51,7 @@ Usage: $CMD [-h] [-o output_dir] [-m msg_body_file] [-s subject] [-r relative_to
Examples: Examples:
$CMD -u contrib -b nitin/basic $CMD -u contrib -b nitin/basic
$CMD -u contrib -r distro/master -i nitin/distro -b nitin/distro $CMD -u contrib -r distro/master -i nitin/distro -b nitin/distro
$CMD -u contrib -r distro/master -i nitin/distro -b nitin/distro -l distro
$CMD -u contrib -r master -i misc -b nitin/misc -o pull-misc $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 -p "RFC PATCH" -b nitin/experimental
$CMD -u contrib -i misc -b nitin/misc -d ./bitbake $CMD -u contrib -i misc -b nitin/misc -d ./bitbake
@ -57,11 +59,14 @@ EOM
} }
# Parse and validate arguments # Parse and validate arguments
while getopts "b:cd:hi:m:o:p:r:s:u:" OPT; do while getopts "b:cd:hi:m:o:p:r:s:u:l:" OPT; do
case $OPT in case $OPT in
b) b)
BRANCH="$OPTARG" BRANCH="$OPTARG"
;; ;;
l)
L_BRANCH="$OPTARG"
;;
c) c)
RFC=1 RFC=1
;; ;;
@ -130,6 +135,11 @@ if [ -z "$BRANCH" ]; then
echo "NOTE: Assuming remote branch '$BRANCH', use -b to override." echo "NOTE: Assuming remote branch '$BRANCH', use -b to override."
fi fi
if [ -z "$L_BRANCH" ]; then
L_BRANCH=HEAD
echo "NOTE: Assuming local branch HEAD, use -l to override."
fi
if [ -z "$REMOTE_URL" ]; then if [ -z "$REMOTE_URL" ]; then
echo "ERROR: Missing parameter -u, no git remote!" echo "ERROR: Missing parameter -u, no git remote!"
usage usage
@ -203,7 +213,7 @@ NEWER_GIT_VERSION=210
if [ $GIT_VERSION -lt $NEWER_GIT_VERSION ]; then if [ $GIT_VERSION -lt $NEWER_GIT_VERSION ]; then
git request-pull $RELATIVE_TO $REMOTE_URL $COMMIT_ID >> "$PM" git request-pull $RELATIVE_TO $REMOTE_URL $COMMIT_ID >> "$PM"
else else
git request-pull $RELATIVE_TO $REMOTE_URL $BRANCH:$BRANCH >> "$PM" git request-pull $RELATIVE_TO $REMOTE_URL $L_BRANCH:$BRANCH >> "$PM"
fi fi
if [ $? -ne 0 ]; then if [ $? -ne 0 ]; then
echo "ERROR: git request-pull reported an error" echo "ERROR: git request-pull reported an error"