summaryrefslogtreecommitdiffstats
path: root/scripts/create-pull-request
diff options
context:
space:
mode:
authorEd Bartosh <ed.bartosh@linux.intel.com>2015-07-30 14:10:51 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-07-31 15:35:34 +0100
commit9b544125e1e3d2cc2db8f5d20d6fd0746f8cef5d (patch)
treefbad08b077168d69f402eaab6b9939cd603f8619 /scripts/create-pull-request
parent0d1f99fe1446edfb8864cbbc5a8b0059391c9bbc (diff)
downloadopenembedded-core-9b544125e1e3d2cc2db8f5d20d6fd0746f8cef5d.tar.gz
create-pull-request: Implement -d option
This options allows to generate patches against relative directory by using git format-patch --relative option. See more details about --relative option in git diff manual page. For example generating bitbake patchsets from poky can be done this way: create-pull-request -u contrib -d ./bitbake Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Diffstat (limited to 'scripts/create-pull-request')
-rwxr-xr-xscripts/create-pull-request16
1 files changed, 12 insertions, 4 deletions
diff --git a/scripts/create-pull-request b/scripts/create-pull-request
index 97ed874e7f..216edfd751 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] -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)
-c Create an RFC (Request for Comment) patch series
-h Display this help message
@@ -45,17 +45,19 @@ Usage: $CMD [-h] [-o output_dir] [-m msg_body_file] [-s subject] [-r relative_to
-r relative_to Starting commit (default: master)
-s subject The subject to be inserted into the summary email
-u remote The git remote where the branch is located
+ -d relative_dir Generate patches relative to directory
Examples:
$CMD -u contrib -b nitin/basic
$CMD -u contrib -r distro/master -i nitin/distro -b nitin/distro
$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
EOM
}
# Parse and validate arguments
-while getopts "b:chi:m:o:p:r:s:u:" OPT; do
+while getopts "b:cd:hi:m:o:p:r:s:u:" OPT; do
case $OPT in
b)
BRANCH="$OPTARG"
@@ -63,6 +65,9 @@ while getopts "b:chi:m:o:p:r:s:u:" OPT; do
c)
RFC=1
;;
+ d)
+ RELDIR="$OPTARG"
+ ;;
h)
usage
exit 0
@@ -170,10 +175,13 @@ if [ -e $ODIR ]; then
fi
mkdir $ODIR
+if [ -n "$RELDIR" ]; then
+ ODIR=$(realpath $ODIR)
+ extraopts="--relative=$RELDIR"
+fi
# Generate the patches and cover letter
-git format-patch -M40 --subject-prefix="$PREFIX" -n -o $ODIR --thread=shallow --cover-letter $RELATIVE_TO..$COMMIT_ID > /dev/null
-
+git format-patch $extraopts -M40 --subject-prefix="$PREFIX" -n -o $ODIR --thread=shallow --cover-letter $RELATIVE_TO..$COMMIT_ID > /dev/null
# Customize the cover letter
CL="$ODIR/0000-cover-letter.patch"