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

Configuration file musings

From
MWMark Wooding <mdw@distorted.org.uk>
Date
Feb 12, 2006, 13:45 UTC
Message-ID
<slrnduuf08.518.mdw@metalzone.distorted.org.uk>

Having thought about things a bit, I've reached the conclusion that the configuration file $GIT_DIR/config is trying to hold (at least) three entirely different kinds of configuration.

  * User configuration: basically, how I like GIT to work for me.  I
    think that the way it represents my name in commit messages is user
    configuration, as would be the behaviour of `git-commit PATH'.
    Environment variables almost work for this, but they're a nuisance
    to change.  This stuff ought to be somewhere in my home directory,
    probably; though it would be useful to override temporarily, or on a
    per-repository basis.
  * Project configuration: how GIT should be supporting a particular
    project.  The merge.summary flag is like this, I think: whether to
    have summaries in merge messages is a policy decision to be taken
    for a whole project, rather than something to be left to the whims
    of individual developers.  Such settings probably to be propagated
    through git-clone, git-fetch and so on.
  * True repository configuration: how this particular repository ought
    to behave.  I can't think of many examples off the top of my head,
    but core.repositoryformatversion and core.filemode are the sorts of
    things I'm thinking of.

I'm not entirely sure where I'm going with this at the moment, and I don't like some of the complexity which seems inherent in doing anything about it, but I thought I'd stick my oar in anyway.

-- [mdw]
Next: Junio C Hamano
Message 1 of 2 in “Configuration file musings”
  1. Mark WoodingFeb 12, 2006
  2. Junio C HamanoFeb 12, 2006

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.