Subject: Re: Whitespace on commit

From: Andreas Ericsson <[email-masked]>
Date: Thu, 13 Mar 2008 08:34:40 +0100

Junio C Hamano wrote:
> "Kenneth P. Turvey" <[email-masked]> writes:
> 
>> I keep getting annoying errors when I try to commit.  Git complains that I
>> have whitespace in the wrong places.  
>>
>> This is fine.. I even like it.  What I don't like is having to change this
>> stuff manually.  Is there anyway to tell git to just fix the stuff and do
>> the commit?  
>>
>> I've tried setting
>>
>> apply.whitespace = fix 
>>
>> in my .gitconfig, but that doesn't seem to help when doing commits.
> 
> Yeah, that is to protect yourself from whitespace mess _other people_
> threw at you in a patch form.
> 
> You can ask git to fix your own stuff up, by pretending that you are that
> other person who made the mess, by doing:
> 
> 	git diff HEAD >P.diff
>         git reset --hard HEAD
>         git apply --index --whitespace=fix P.diff
> 

I have exactly that (except my P.diff sits in /tmp under a different name)
as an alias named wsfix. Here's how to make one of your own, Kenneth:

git config --global alias wsfix '!git diff HEAD >P.diff && git reset --hard HEAD && git apply --index --whitespace=fix P.diff && rm -f P.diff'

Note that there are no newlines in the above command. When you get the whitespace
warnings, just run "git wsfix" and you'll be good to go.

-- 
Andreas Ericsson                   [email-masked]
OP5 AB                             www.op5.se
Tel: +46 8-230225                  Fax: +46 8-230231