quilt-dev
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]