I realized recently that gitattributes don't work on a bare repo. It's
easy to see why (no .gitattributes file to look into) and the
'official' solution is to use .git/info/attributes for that, which has
the obvious problem of being local and not carried over to other repos
(so that e.g. you have to recreate it and keep it up to date on remote
I was discussing this on IRC with pasky and he suggested that the best
way to approach the matter was to use the .gitattributes from the
relevant head. For example, a diff-tree would use the first
.gitattributes from the first tree-ish parameter. I have actually
looked into implementing this myself, but I'm afraid my git mojo isn't
strong enough yet.
A similar discussion would hold of course for .gitignore and the
corresponding info/excludes file.
I'm not sure how widespread the need for such a possibility (using
.gitignore and .gitattributes on bare repos) is, but at least
.gitattributes it would allow gitweb to use the correct diff