[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Quilt-dev] [PATCH] faildiff.test: Fix for diffutils 3.4 and later
From: |
Jean Delvare |
Subject: |
Re: [Quilt-dev] [PATCH] faildiff.test: Fix for diffutils 3.4 and later |
Date: |
Fri, 9 Sep 2016 16:14:53 +0200 |
Hi Andreas,
On Fri, 9 Sep 2016 11:09:08 +0200, Andreas Grünbacher wrote:
> 2016-09-09 10:56 GMT+02:00 Jean Delvare <address@hidden>:
> >
> > Since diffutils version 3.4, diff no longer returns an error code for
> > binary files. Remove this test from faildiff.test.
>
> Okay, thanks.
Actually the following would be a better fix for the same problem:
---
quilt/scripts/patchfns.in | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
--- quilt.orig/quilt/scripts/patchfns.in 2016-01-24 11:38:24.047466508
+0100
+++ quilt/quilt/scripts/patchfns.in 2016-09-09 12:53:40.110084270 +0200
@@ -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
Comments welcome. The problem is that fixing the test case is not
enough. As "diff" no longer fails on binary files, "quilt refresh" will
include the output of diff for binary files, and that output looks bad:
Binary files w.orig/test.bin 2016-09-09 10:19:10.621752409 +0200 and
w/test.bin 2016-09-09 10:19:24.349917252 +0200 differ
Also "quilt refresh" doesn't replace these lines, it adds them... So
they stack up. Plus it doesn't make any sense in the context of quilt
anyway, if we are not able to apply the changes, we can't consider that
the file is actually part of the patch.
So I'd rather force the failure as was happening before.
--
Jean Delvare
SUSE L3 Support