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 <[email protected]>:
> >
> > 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
_______________________________________________
Quilt-dev mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/quilt-dev