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

Re: [PATCH v2] Documentation/gitk: Document new config file location

From
Junio C Hamano <gitster@pobox.com>
Date
Mar 18, 2014, 20:07 UTC
Message-ID
<xmqqr45z6zj7.fsf@gitster.dls.corp.google.com>
In-Reply-To
<1395165187-3629-1-git-send-email-astrilhayato@gmail.com>
Astril Hayato <astrilhayato@gmail.com> writes:
Show 24 quoted lines
> User config file location now complies with XDG base directory specification
>
> Signed-off-by: Astril Hayato <astrilhayato@gmail.com>
> ---
>  Documentation/gitk.txt | 9 +++++++--
>  1 file changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/Documentation/gitk.txt b/Documentation/gitk.txt
> index 1e9e38a..c2aa514 100644
> --- a/Documentation/gitk.txt
> +++ b/Documentation/gitk.txt
> @@ -166,8 +166,13 @@ gitk --max-count=100 --all \-- Makefile::
>  
>  Files
>  -----
> -Gitk creates the .gitk file in your $HOME directory to store preferences
> -such as display options, font, and colors.
> +User configuration and preferences are stored at (in order of priority):
> +
> +* '$XDG_CONFIG_HOME/git/gitk' if it exists and '$XDG_CONFIG_HOME' is set
> +* '$HOME/.config/git/gitk' if it exists
> +* '$HOME/.gitk' if it exists
> +
> +If none of the above exist then '$HOME/.config/git/gitk' is created and used by default.
The last line is a bit of a lie, isn't it?

If XDG_CONFIG_HOME is set to an non-empty string, config_file is set to $XDG_CONFIG_HOME/git/gitk. Otherwise config_file is set to $HOME/.config/git/gitk.

After that happens:
 - if that file exists, it is used;
 - otherwise:
   . if $HOME/.gitk exists, we use it (in other words, $HOME/.gitk
     is never used unless the user is an old timer who has one);
   . if $HOME/.gitk does not exist (in other words, if none of the
     above exists), then an empty $config_file is created and used.

We use either $HOME/.config/git/gitk or $XDG_CONFIG_HOME/git/gitk and never $HOME/.gitk when none of the above exists, and the choice between the two depends on XDG_CONFIG_HOME.

I'll queue this patch as-is, but we may want to further clarify with a follow-up patch.

Thanks.
Previous: Astril Hayato
Message 2 of 2 in “Documentation/gitk: Document new config file location”
  1. Documentation/gitk: Document new config file locationAstril Hayato, Mar 18, 2014
  2. Junio C HamanoMar 18, 2014

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.