[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Diffutils patch regarding special files

From: Jason Todd
Subject: Diffutils patch regarding special files
Date: Tue, 11 Nov 2008 18:15:01 -0500 (EST)


I have put together the attached simple patch for diff.c of the Diffutils package (specifically version 2.8.1). This patch suppresses the messages (and failure exit status) when non-regular files are encountered during recursive comparisons, if the "-Q" or "--ignore_special" command line arguments are given. Examples of the suppressed messages are:

File original/dev/char1-3 is a character special file while file test1/dev/char1-3 is a character special file
File original/misc/a-fifo is a fifo while file test1/misc/a-fifo is a fifo
File original/misc/a-socket is a socket while file test1/misc/a-socket is a fifo

Instead, the patch looks a little further, and if the files are of the same type and are not device files, it considers them a match. In the case of device files, if they are of the same type (block or character) and refer to the same device (via stat.st_rdev), then it considers them a match.

When comparing two complete filesystems, or large portions of them (which I do a lot), these messages tend to get in the way. Broken symlinks, which are common in almost every distribution, are still reported, but those messages I am willing to filter outside of diff.

I can submit a larger patch that includes the relevant changes to the documentation supplied with Diffutils, if you would like. Further, I can update and re-package everything as diffutils-2.8.2 if you would like (but I don't want to intrude too much). Just let me know.

Jason Todd

Attachment: diff-ignore_special.patch
Description: Text document

reply via email to

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