git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: .git/info/attributes not cloned

From
TCToby Corkindale <toby.corkindale@rea-group.com>
Date
Mar 27, 2008, 04:23 UTC
Message-ID
<47EB213F.1020503@rea-group.com>
In-Reply-To
<20080327033341.GB5417@coredump.intra.peff.net>
Jeff King wrote:
Show 12 quoted lines
> On Thu, Mar 27, 2008 at 02:08:30PM +1100, Toby Corkindale wrote:
> 
>> If one creates a .git/info/attributes file in a Git repo, it will not be  
>> present in cloned repos.
>> I don't know if this is a bug or not, but it /seems/ wrong behaviour to  
>> me, and reading from the manual pages.
> 
> It is not a bug. The .gitattributes file in your working directory _is_
> cloned, and that is the right place to put things that you want to be
> revision-controlled and used in every repo. The .git/info/attributes
> file is for attributes that are purely local to that repo. This is
> similar to the split between .git/info/exclude and .gitignore.

Ah, OK. I was hoping not to use .gitattributes, as then the attributes are ignored when doing something like: git archive --remote=example.com:/path/to/repo release/v2.1 | tar xf -

> Can you point out which part of the manual gave the wrong impression (or
> better yet, submit a patch making it more clear)?

Now that you've mentioned the difference between info/exclude and .gitignore, I see that in the docs/user-manual.html it is said:

"If you wish the exclude patterns to affect only certain repositories (instead of every repository for a given project), you may instead put them in a file in your repository named .git/info/exclude, or in any file specified by the core.excludesfile configuration variable."

That gives a clue that the /info/ files are repo-specific. However in gitignore(5) and gitattributes(5), there is no explanation of this - it simply mentions that the info version is a higher priority than the .git{ignore,attributes} version.

I suggest that the individual docs/man-pages should mention that too. I'll submit a patch in a separate email, as long as I'm not still misunderstanding the mechanism.

Is there a recommended way to make attributes apply to commands run on a remote repository, or is that a different bug?

thanks, Toby

Previous: Jeff KingNext: Jeff King
Message 3 of 13 in “.git/info/attributes not cloned”
  1. Toby CorkindaleMar 27, 2008
  2. Jeff KingMar 27, 2008
  3. Toby CorkindaleMar 27, 2008
  4. Jeff KingMar 27, 2008
  5. Toby CorkindaleMar 27, 2008
  6. Jeff KingMar 27, 2008
  7. [BUG?] git-archive ignores remote .gitattributes (was: .git/info/attributes not cloned)Toby Corkindale, Mar 28, 2008
  8. Johannes SchindelinMar 28, 2008
  9. Jakub NarebskiMar 28, 2008
  10. Johannes SchindelinMar 28, 2008
  11. Jeff KingMar 31, 2008
  12. Junio C HamanoMar 31, 2008
  13. Toby CorkindaleApr 10, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.