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

Re: .gitignore, .gitattributes, .gitmodules, .gitprecious?, .gitacls? etc.

From
Junio C Hamano <gitster@pobox.com>
Date
Aug 26, 2007, 04:37 UTC
Message-ID
<7v1wdqud0z.fsf@gitster.siamese.dyndns.org>
In-Reply-To
<2646CA4BEA644C9E9089C4A1AC395250@ntdev.corp.microsoft.com>
Dmitry Kakurin <dmitry.kakurin@gmail.com> writes:
> 1. It may be better to combine all these files into one (.gitmeta) with different sections

Merging what has traditionally been known as .gitignore's capability to attributes has been discussed, and I think it would make sense in longer term, as 'this path pattern is to be ignored' is just a special case of a more general attribute. And "precious" handling would naturally fit there. However, as the .gitignore and .git/info/exclude has been as old as git itself (I think it was introduced around early May 2005), I do not see us even start talking about deprecating .gitignore.

I do not think .gitmodules fits the model of what .gitattributes solves. .gitattributes is about the attribute of paths, while .gitmodules is about attribute of subprojects, and one attribute of a subproject is where in the superproject directory hierarchy it sits at.

I do not know what you are talking about with .gitacls. Personally I am not interested in turning git into a back-up program at all, so if you are talking beyond what has already been suggested as "owner", "group" and "perms" attributes that could be stored in .gitattributes, I do not think it belongs to git.

> 2. Storing metadata in regular source-controlled files feels wrong to
> me.

You are free to _feel_ whatever you want without thinking, but please keep that _feeling_ to yourself, and speak it out after making it into an _opinion_, which would take a bit of thinking about it first. For example, think about what you could do without confusing a total newbie after the initial clone. You cannot avoid chicken-and-egg problem. I think reading from index as a fallback measure when work tree file is missing is a very good compromise we came up recently. The wish of the user (i.e. the owner of the work tree) overrides what is in the index, and the index is how the repository contents are initially propagated back to the work tree.

Previous: Dmitry KakurinNext: Dmitry Kakurin
Message 2 of 28 in “.gitignore, .gitattributes, .gitmodules, .gitprecious?, .gitacls? etc.”
  1. Dmitry KakurinAug 26, 2007
  2. Junio C HamanoAug 26, 2007
  3. Dmitry KakurinAug 26, 2007
  4. Junio C HamanoAug 26, 2007
  5. Dmitry KakurinAug 26, 2007
  6. Junio C HamanoAug 26, 2007
  7. Dmitry KakurinAug 26, 2007
  8. Petr BaudisAug 26, 2007
  9. Sam VilainAug 27, 2007
  10. David KastrupAug 27, 2007
  11. Sam VilainAug 27, 2007
  12. David KastrupAug 27, 2007
  13. Johannes SchindelinAug 27, 2007
  14. Johannes SchindelinAug 26, 2007
  15. martin f krafftAug 27, 2007
  16. Sergio CallegariAug 27, 2007
  17. David KastrupAug 27, 2007
  18. Petr BaudisAug 27, 2007
  19. Sergio CallegariAug 27, 2007
  20. Sergio CallegariAug 27, 2007
  21. Jan HudecSep 4, 2007
  22. .gitignore, .gitattributes, .gitmodules, .gitprecious?,.gitacls? etc.Dmitry Kakurin, Aug 27, 2007
  23. Jan HudecSep 4, 2007
  24. Dmitry KakurinSep 5, 2007
  25. Junio C HamanoSep 5, 2007
  26. Dmitry KakurinSep 5, 2007
  27. Jan HudecSep 5, 2007
  28. Jan HudecSep 4, 2007

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.