On 9/5/07, Junio C Hamano <gitster@pobox.com> wrote:
quoted text > "Dmitry Kakurin" <dmitry.kakurin@gmail.com> writes:
>
> > I assert that since index does not have .gitattributes the one from
> > local directory should not be used.
> >
> > Think about dedicated build machine scenario: I have a machine that
> > always does sync + build. After every sync the local directory should
> > always be identical to what-was-committed.
>
> Thinking about the reason _why_ .gitattributes may be updated,
> one would notice that it is because somebody did this command
> sequence:
>
> git checkout ;# now work tree is clean
> edit .gitattributes ;# modify the attributes of a file
> edit file ;# edit the file attributes talks about
> git add file ;# this can be affected by .gitattributes
> git add .gitattributes ;# this is changed in the same commit
> git commit
>
> Now, should we always take .gitattributes from the index?
No, from couple of my emails back:
quoted text > This leads to a simple idea that mostly works:
> 1. when files are moved from index to filesystem, then only .gitattributes in the index is used, if it's not there == no special attributes.
> 2. when files are moved from filesystem to index, then only .gitattributes in filesystem is used, again if it's not there == no special attributes.
>
> Then, in any operation, only one .gitattributes is taken into account.
This is a must-do change (IMHO).
To go one step further (again IMHO) is to eliminate workspace version
of .gitattributes all together:
quoted text > We could stop here, but to me this redundancy still has some room for confusion and looks unnecessary.
> Plus there is still room for unintentional abuse (by mistake).
> That's why I think it's a good idea to always have only one .gitattributes (in the index).
--
- Dmitry
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to
majordomo@vger.kernel.org
More majordomo info at
http://vger.kernel.org/majordomo-info.html