Date: Sat, 9 Feb 2002 14:02:59 +1100 From: Tim Robbins <tim@robbins.dropbear.id.au> To: "M. Warner Losh" <imp@village.org> Cc: freebsd-standards@FreeBSD.ORG, fyre@orbital.wiretapped.net Subject: Re: diff problem Message-ID: <20020209140259.A51448@descent.robbins.dropbear.id.au>
next in thread | raw e-mail | index | archive | help
GNU diff, from diffutils 2.7 did give a warning before it was locally hacked to pieces. This is the relevant change: diff --show-c-function -ru diffutils-2.7/util.c /usr/src/contrib/diff/util.c --- diffutils-2.7/util.c Sat Oct 1 15:14:15 1994 +++ /usr/src/contrib/diff/util.c Wed Sep 20 13:24:32 2000 @@ -480,7 +485,7 @@ print_1_line (line_flag, line) output_1_line (text, limit, flag_format, line_flag); if ((!line_flag || line_flag[0]) && limit[-1] != '\n') - fprintf (out, "\n\\ No newline at end of file\n"); + fputc ('\n', out); } /* Output a line from TEXT up to LIMIT. Without -t, output verbatim. Commit message for the reverse of this: == revision 1.3 date: 2000/07/24 07:40:02; author: green; state: Exp; lines: +2 -3 Get rid of the stupid bug where diff sticks trash in your generated diff output; there being no trailing newline caused it to bitch and moan and ruin diffs. That's dumb, if I may say so myself. Yes, this file is coming off the vendor branch. It hasn't been updated in 6 years. Approved by: peter == When a file is missing the final newline, GNU diff 2.7 and GNU patch 2.5.4 can reconstruct the file correctly. I have absolutely no idea why we have both version 2.5 and version 2.1 of patch in the tree. 2.5 lives in /usr/src/contrib/patch, 2.1 lives in /usr/src/gnu/usr.bin/patch. Version 2.1 ends up in /usr/bin, version 2.5 is not installed anywhere I can find. IMO patch 2.1 should be installed as 'patch21' or similar, patch 2.5 should be actually installed(!!) and the "stupid bug" patch to GNU diff should be rolled back. I will submit a problem report on this. The standards don't specify what should be done when the file is missing a trailing newline so this isn't really a standards matter. Tim To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-standards" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020209140259.A51448>