Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 08 Feb 2002 23:23:56 -0700 (MST)
From:      "M. Warner Losh" <imp@village.org>
To:        fyre@orbital.wiretapped.net, tim@robbins.dropbear.id.au
Cc:        freebsd-standards@FreeBSD.ORG
Subject:   Re: diff problem
Message-ID:  <20020208.232356.28086539.imp@village.org>
In-Reply-To: <20020209140259.A51448@descent.robbins.dropbear.id.au>
References:  <20020209140259.A51448@descent.robbins.dropbear.id.au>

next in thread | previous in thread | raw e-mail | index | archive | help
In message: <20020209140259.A51448@descent.robbins.dropbear.id.au>
            Tim Robbins <tim@robbins.dropbear.id.au> 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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020208.232356.28086539.imp>