On Thu, Jul 16, 2009 at 09:10:17AM +0200, Jim Meyering wrote:
Jim Meyering wrote:
> Currently the server side hook that runs "git diff --check"
> to prevent pushing a change that adds trailing blanks is
> more strict than our "make syntax-check" hook, since the former
> rejects any change that adds blank lines at the end of a file,
> while "make syntax-check" doesn't complain about that.
>
> The two should be consistent.
> One way is to make "make syntax-check" more strict.
> If we were to do that, we'd have to choose between
> cleaning existing files and exempting them from the new test.
> Cleaning is easy and doesn't impact tests at all, so I prefer it.
>
> Here's what would be involved:
>
> - remove 121 trailing newlines from 109 files by running this command:
> git ls-files -z | xargs -0 perl -pi -0777 -e 's/\n\n+$/\n/'
>
> Add a rule to cfg.mk so that "make syntax-check" warns about
> any new violations. It might run something like this:
>
> git ls-files -z \
> | xargs -0 perl -ln -0777 -e '/\n(\n+)$/ and print "$ARGV:
".length $1'
>
> That command prints the name of each offending file with its trailing
> blank line count. While it takes well under a second on my system,
> (admittedly, with a hot cache), it's not well optimized, reading
> each file into memory and processing it.
Here are two change-sets to implement that.
The first just removes all trailing blank line, so I've
omitted its boring 100+ diffs.
Fine by me, let's see what others think,
Daniel
--
Daniel Veillard | libxml Gnome XML XSLT toolkit
http://xmlsoft.org/
daniel(a)veillard.com | Rpmfind RPM search engine
http://rpmfind.net/
http://veillard.com/ | virtualization library
http://libvirt.org/