From: Junio C Hamano Date: Thu, 26 Jun 2008 22:33:58 GMT Subject: Re: [PATCH v2] pre-commit hook should ignore carriage returns at EOL Message-ID: <7vk5gbq10p.fsf@gitster.siamese.dyndns.org> In-Reply-To: <635350D7-2CC0-4FA6-BB74-CE9ED930ECE8@gmail.com> Christian Holtje writes: >> I suggested using "diff --check" (and possibly teaching "diff --check" >> other things the scripted example checks, such as conflict markers), >> which would know to honor the line endings specified per path via >> gitattributes(5), instead of building on top of the big Perl script, >> and I >> had an impression that you agreed to the approach. > > I'm completely confused how gitattributes and core.autocrlf interact, > etc. Here is a series I just cooked up so that we can remove the whole Perl script and replace it by adding --check to "diff-index" used there. The first three are code clean-ups and the last two implements necessary new features to "diff --check". The whole series somewhat depend on the fix to 'maint' not to lose the exit status I sent earlier. [PATCH 1/5] diff --check: explain why we do not care whether old side is binary [PATCH 2/5] check_and_emit_line(): rename and refactor [PATCH 3/5] checkdiff: pass diff_options to the callback [PATCH 4/5] Teach "diff --check" about a new blank lines at end [PATCH 5/5] diff --check: detect leftover conflict markers