Subject: Re: getting git to ignore modifications to specific files

From: Chris Packham <[email-masked]>
Date: Wed, 01 Sep 2010 13:45:18 -0700

On 01/09/10 12:12, Bruce Korb wrote:
> On Wed, Sep 1, 2010 at 11:57 AM, Chris Packham <[email-masked]> wrote:
>> I did a bit of googling and found
>>  git update-index --assume-unchanged
>>
>> Which works locally to stop git status from complaining. Is there anyway
>> for me to make a change to our clone (a .gitattribues entry?) so that
>> everyone can get this by default?
> 
> Isn't that what .git/info/exclude is about?

Not as far as I've been able to tell. .gitignore and .git/info/exclude
are ways to tell git to ignore these untracked files so that they don't
show up in the output of git status (and others).

In my case the file is tracked, I just don't care if it changes and I
don't want git rebase/checkout to complain if I have local modifications
to this file. Ideally I'd like git add INSTALL to treat it as if nothing
changed but have git add -f INSTALL stage the changes.

Thinking about what I can do with the existing .gitattributes I could
probably have a custom diff driver that always returns 0 (/bin/true
perhaps) and a custom merge strategy of theirs (or something sensible)
if needed. A clean/smudge filter of git update-index
--assume-(un)changed may also be possible but I haven't tried it yet.