#!/bin/bash # # create a pull request for your branch # usage() { echo "Usage: " echo "$ $0 [-r ] [-i ] -b " echo " is a commit identifier, like branch-name, HEAD, hex-commit-id" echo " is a commit identifier, like branch-name, HEAD, hex-commit-id" echo " is the branch-name in the git.pokylinux.org/poky-contrib tree" echo " If is not specified then relative to master is assumed" echo " If is not specified then it is assumed as HEAD" echo " For Example:" echo " $0 -r master -i misc -b nitin/misc " echo " $0 -b nitin/misc " echo " $0 -r distro/master -i nitin/distro -b nitin/distro " exit 1 } while [ $# -ne 0 ] # loop over arguments do case $1 in -r ) shift RELATIVE_TO=$1 shift ;; -i ) shift COMMIT_ID=$1 shift ;; -b ) shift CONTRIB_BRANCH=$1 shift ;; *) usage ;; esac done if [ "${COMMIT_ID}" = "" ]; then COMMIT_ID=HEAD echo "Note: parameter assumed as 'HEAD'" fi if [ "${RELATIVE_TO}" = "" ]; then RELATIVE_TO=master echo "Note: parameter assumed as 'master'" fi if [ "${CONTRIB_BRANCH}" = "" ]; then echo "Error: Parameter not specified" usage fi git --no-pager show ${COMMIT_ID} > /dev/null if [ "$?" != "0" ]; then echo "Error: Invalid parameter specified" usage fi git --no-pager show ${RELATIVE_TO} > /dev/null if [ "$?" != "0" ]; then echo "Error: Invalid parameter specified: ${RELATIVE_TO}" usage fi echo "" git --no-pager diff ${RELATIVE_TO}..${COMMIT_ID} | diffstat -p1 echo "" git --no-pager log --no-merges ${RELATIVE_TO}..${COMMIT_ID} | git --no-pager shortlog PULL_URL="http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=${CONTRIB_BRANCH}" echo "Pull URL: ${PULL_URL}" wget -q ${PULL_URL} -O - | grep -q "Invalid branch:\ ${CONTRIB_BRANCH}" if [ "$?" == "0" ]; then echo "Warning: Branch named '${CONTRIB_BRANCH}' was not found on contrib git tree" echo "Check your parameter" fi