[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Wrong assumption about unidiff syntax in libsvn_diff?

From: Julian Foad <julianfoad_at_btopenworld.com>
Date: Tue, 20 Nov 2012 13:51:56 +0000 (GMT)

Branko Čibej wrote:

> I'm digging through libsvn_diff and found this snippet in diff_memory.c:
>
>     /* The string below is intentionally not marked for translation:
>        it's vital to correct operation of the diff(1)/patch(1)
>        program pair. */
>     APR_EOL_STR "\\ No newline at end of file"
>
> I was under the impression that we already cleared up this
> misconception? Only the leading backslash and space are important for
> signaling the no-trailing-eoln state. The text itself can be localized,
> or absent.

References?  The current GNU diff documentation says "The exact message may differ in non-English locales." [1]  I haven't found any more widely authoritative documentation of this "\ No newline..." at all, such as in POSIX/SUS.

There are some reports of other tools not working properly with other messages.  For example, <https://bugs.launchpad.net/ubuntu/+source/diffutils/+bug/708897>.  That's not a good bug report -- it doesn't say exactly what patch tools broke -- and maybe the patch tools should be considered broken, but it is an indication that there may be such breakages.

> I'm pretty sure we should mark the "No newline at end of file" for
> translation -- but /not/ the "\\ ".

Keeping it in English gives a much higher chance of it working with most patch programs.

- Julian

[1] GNU diff documentation, "Incomplete Lines" section, <http://www.gnu.org/software/diffutils/manual/html_node/Incomplete-Lines.html>.
Received on 2012-11-20 14:52:36 CET

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.