From owner-freebsd-standards Fri Feb 8 22:24:16 2002 Delivered-To: freebsd-standards@freebsd.org Received: from rover.village.org (rover.bsdimp.com [204.144.255.66]) by hub.freebsd.org (Postfix) with ESMTP id A9C4037B416 for ; Fri, 8 Feb 2002 22:24:11 -0800 (PST) Received: from harmony.village.org (harmony.village.org [10.0.0.6]) by rover.village.org (8.11.3/8.11.3) with ESMTP id g196O9i30918; Fri, 8 Feb 2002 23:24:10 -0700 (MST) (envelope-from imp@village.org) Received: from localhost (warner@rover2.village.org [10.0.0.1]) by harmony.village.org (8.11.6/8.11.6) with ESMTP id g196O8L56350; Fri, 8 Feb 2002 23:24:09 -0700 (MST) (envelope-from imp@village.org) Date: Fri, 08 Feb 2002 23:23:56 -0700 (MST) Message-Id: <20020208.232356.28086539.imp@village.org> To: fyre@orbital.wiretapped.net, tim@robbins.dropbear.id.au Cc: freebsd-standards@FreeBSD.ORG Subject: Re: diff problem From: "M. Warner Losh" In-Reply-To: <20020209140259.A51448@descent.robbins.dropbear.id.au> References: <20020209140259.A51448@descent.robbins.dropbear.id.au> X-Mailer: Mew version 2.1 on Emacs 21.1 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-standards@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG In message: <20020209140259.A51448@descent.robbins.dropbear.id.au> Tim Robbins writes: : 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. I'd like to revert this change. The main reason is that gnupatch can reconstruct files that have missing stuff at the end, and subversion whines that FreeBSD's diff is bogus. Warner To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-standards" in the body of the message