SHA256
1
0
forked from pool/quilt
quilt/reject-binary-files-in-patches.patch

37 lines
1006 B
Diff
Raw Normal View History

From: Jean Delvare <jdelvare@suse.de>
Date: Thu, 15 Sep 2016 14:05:29 +0200
Subject: Reject binary files in patches
Git-commit: 20f06212baced666027131555ad4c834d8e4b232
Patch-mainline: yes
Since diffutils version 3.4, diff no longer returns an error code for
binary files. Parse the first line of the output to detect this case
and raise our own error.
diff --git a/quilt/scripts/patchfns.in b/quilt/scripts/patchfns.in
index 521e92d18b53..a496f3b07390 100644
--- a/quilt/scripts/patchfns.in
+++ b/quilt/scripts/patchfns.in
@@ -741,6 +741,12 @@ diff_file()
"$old_file" "$new_file" \
| if read line
then
+ if [[ "$line" =~ ^Binary\ files\ .*\ differ$ ]]
+ then
+ echo "$line"
+ return 1
+ fi
+
if [ -z "$QUILT_NO_DIFF_INDEX" ]
then
echo "Index: $index"
@@ -751,7 +757,7 @@ diff_file()
fi
# Test the return value of diff, and propagate the error retcode if any
- if [ ${PIPESTATUS[0]} == 2 ]
+ if [ ${PIPESTATUS[0]} == 2 -o ${PIPESTATUS[1]} == 1 ]
then
return 1
fi