Re: [PATCH 2/2] diff: add a special SYMLINK user-diff driver

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

 



On Wed, Sep 22, 2010 at 12:12:30AM +0000, Ãvar ArnfjÃrà Bjarmason wrote:

> 2010/9/21 Jeff King <peff@xxxxxxxx>:
> > +However, it may happen that you do want to change the diff parameters
> > +specifically for symlinks. You can do that by configuring the special
> > +"SYMLINK" diff driver. For example, to add a newline to the end of
> > +the symlink contents (and suppress the usual "no newline at end of file"
> > +warning), you could configure:
> > +
> > +-----------------------------
> > +[diff "SYMLINK"]
> > + Â Â Â textconv = perl -pe 's/$/\n/'
> > +-----------------------------
> 
> That'll turn every \n in the stream into \n\n, not add a newline to
> the end of the file. Don't you mean:
> 
>     perl -0666 -pe 's/$/\n/'

Yeah, it will add a newline to the end of file, but it will also double
existing newlines. I wanted something short and clear so the reader
could understand what was going on, and symlink paths don't generally
contain an extra newline.

Just "perl -0pe 's/$/\n/'" would work, as symlink targets can't possibly
have embedded NULs.

But:

> Or, more efficiently:
> 
>     perl -ple 'END { print }'

That one is even more readable, IMHO. But it isn't right. :)
The automatic line-handling actually adds the missing newline, so I
think it would have to be:

  perl -ple ''

-Peff
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]