From: alex@bellandwhistle.net Date: Wed, 16 Apr 2014 23:07:57 GMT Subject: Re: gitignore vs. exclude vs assume-unchanged? Message-ID: In-Reply-To: On 2014-04-16 10:51, Junio C Hamano wrote: > alex@bellandwhistle.net writes: > >> Any clarification on the differences much appreciated: >> >> http://stackoverflow.com/questions/23097368/git-ignore-vs-exclude-vs-assume-unchanged/23097509 > > Please don't force people to refer to external site. > > The .gitignore and .git/info/exclude are the two UIs to invoke the > same mechanism. In-tree .gitignore are to be shared among project > members (i.e. everybody working on the project should consider the > paths that match the ignore pattern in there as cruft). On the > other hand, .git/info/exclude is meant for personal ignore patterns > (i.e. you, while working on the project, consider them as cruft). > > Assume-unchanged should not be abused for an ignore mechanism. It > is "I know my filesystem operations are slow. I'll promise Git that > I won't change these paths by making them with that bit---that way, > Git does not have to check if I changed things in there every time I > ask for 'git status' output". It does not mean anything other than > that. Especially, it is *not* a promise by Git that Git will always > consider these paths are unmodified---if Git can determine a path > that is marked as assume-unchanged has changed without incurring > extra lstat(2) cost, it reserves the right to report that the path > *has been* modified (as a result, "git commit -a" is free to commit > that change). Thanks June. Great to hear this authoritatively. IMHO your very helpful explanation about typical use cases, the purpose of 'exclude, and assume-unchanged not being a "promise" is missing from the docs, or at least not obviously present: http://git-scm.com/docs In particular, 'exclude' is spottily documented. I realize the docs are structured strictly as an API reference, but it would be great to see a comparison of ignore techniques spelled out. FWIW I asked several people I think of as experts and none of them felt sure of their answer. :) thanks again.