[OE-core] [PATCH 1/1] create-pull-request: handle empty ODIR

Petter Mabäcker petter at technux.se
Tue Nov 24 12:45:25 UTC 2015


In some situations you might end-up with an empty ODIR (pull-xx/). The
most common reason is that you have applied your patches on 'master'
branch (or you are by mistake standing on the 'master' branch),
this will result in the default behavior that 'git format-patch'
will try to diff master..master.

Solve this by aborting the script with a proper error code and message
if ODIR is empty after the 'git format-patch' call (that is expected
to generate the cover-letter and patches).

Signed-off-by: Petter Mabäcker <petter at technux.se>
---
 scripts/create-pull-request | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/scripts/create-pull-request b/scripts/create-pull-request
index 19ba588..a3744cc 100755
--- a/scripts/create-pull-request
+++ b/scripts/create-pull-request
@@ -185,6 +185,14 @@ 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 "$(ls -A $ODIR 2> /dev/null)" ]; then
+    echo "ERROR: $ODIR is empty, no cover letter and patches was generated!"
+    echo "       This is most likely due to that \$RRELATIVE_TO..\$COMMIT_ID"
+    echo "       ($RELATIVE_TO..$COMMIT_ID) don't contain any differences."
+    rmdir $ODIR
+    exit 1
+fi
+
 [ -n "$RELDIR" ] && cd $pdir
 
 # Customize the cover letter
-- 
1.9.1




More information about the Openembedded-core mailing list