forked from pool/quilt
6433efb15a
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. - Remove fix-faildiff-test-for-diffutils-3.4.patch, use the upstream fix instead. OBS-URL: https://build.opensuse.org/package/show/devel:tools:scm/quilt?expand=0&rev=103
37 lines
1006 B
Diff
37 lines
1006 B
Diff
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
|