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

Re: [PATCH] config: introduce an Operating System-specific `includeIf` condition

From
Junio C Hamano <gitster@pobox.com>
Date
Nov 22, 2022, 00:03 UTC
Message-ID
<xmqqwn7nua88.fsf@gitster.g>
In-Reply-To
<pull.1429.git.1669037992587.gitgitgadget@gmail.com>

"Johannes Schindelin via GitGitGadget" <gitgitgadget@gmail.com> writes:

Show 22 quoted lines
> From: Johannes Schindelin <johannes.schindelin@gmx.de>
>
> It is relatively common for users to maintain identical `~/.gitconfig`
> files across all of their setups, using the `includeIf` construct
> liberally to adjust the settings to the respective setup as needed.
>
> In case of Operating System-specific adjustments, Git currently offers
> no support to the users and they typically use a work-around like this:
>
> 	[includeIf "gitdir:/home/"]
> 		path = ~/.gitconfig-linux
> 	[includeIf "gitdir:/Users/"]
> 		path = ~/.gitconfig-mac
> 	[includeIf "gitdir:C:"]
> 		path = ~/.gitconfig-windows
>
> However, this is fragile, as it would not even allow to discern between
> Operating Systems that happen to host their home directories in
> `/home/`, such as Linux and the BSDs.
>
> Let's introduce a new condition: `os:<uname-s>` where `<uname-s>` is the
> system name, i.e. the output of `uname -s`.

As I am not confident enough that we made the best choice that would last forever with the initial attempt when we picked "uname -s" as the way to switch on "OS", I wouldn't call it "OS". Perhaps

	[includeIf "uname-s:Linux"] path = ...

would be what I would pick. Other than that, the feature makes quite a lot of sense.

Previous: Junio C Hamano
Message 26 of 26 in “config: introduce an Operating System-specific `includeIf` condition”
  1. config: introduce an Operating System-specific `includeIf` conditionJohannes Schindelin via GitGitGadget, Nov 21, 2022
  2. Ævar Arnfjörð BjarmasonNov 21, 2022
  3. Phillip WoodNov 21, 2022
  4. Johannes SchindelinNov 21, 2022
  5. config: introduce an Operating System-specific `includeIf` conditionJohannes Schindelin via GitGitGadget, Nov 21, 2022
  6. Jeff KingNov 21, 2022
  7. Đoàn Trần Công DanhNov 23, 2022
  8. Jeff KingNov 24, 2022
  9. Ævar Arnfjörð BjarmasonNov 22, 2022
  10. Phillip WoodNov 22, 2022
  11. Junio C HamanoNov 23, 2022
  12. Phillip WoodNov 23, 2022
  13. Junio C HamanoNov 23, 2022
  14. Philippe BlainNov 22, 2022
  15. Philip OakleyNov 23, 2022
  16. Junio C HamanoNov 25, 2022
  17. Samuel FerencikApr 17, 2023
  18. Junio C HamanoApr 17, 2023
  19. Felipe ContrerasApr 18, 2023
  20. Johannes SchindelinApr 19, 2023
  21. Chris TorekApr 19, 2023
  22. Samuel FerencikApr 19, 2023
  23. rsbecker@nexbridge.comApr 19, 2023
  24. Junio C HamanoApr 19, 2023
  25. Junio C HamanoApr 19, 2023
  26. Junio C HamanoNov 22, 2022

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.