Re: [GSOC] Microproject "Move ~/.git-credential-cache to ~/.config/git"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



2016-03-14 23:42 GMT+08:00 Junio C Hamano <gitster@xxxxxxxxx>:
> 惠轶群 <huiyiqun@xxxxxxxxx> writes:
>
>> I'm still confused about following:
>>
>> 1. should `~/.git-credential-cache` been moved to
>> `~/.cache/git/credential`(as the descreption of the micropject says)
>> or `~/.config/git/credential`(as the title of the microproject says)?
>
> The latter, I'd think, as you noticed in 2. the former does not make
> much sense.

I'm not sure. There is only a unix socket under ~/.git-credential-cache.
It's not a config.

After reading the
[spec](https://specifications.freedesktop.org/basedir-spec/basedir-spec-0.7.html)
more carefully, I think that $XDG_RUNTIME_DIR may be a better choice than
the above two. For ~/.git-credential-cache/socket is a unix socket and should
be used only runtime.

On my computer, this variable is well defined and pointed to /run/user/$UID.

The problem is that there is no suitable default to it if $XDG_RUNTIME_DIR is
not set. I guess /tmp/git-$USER is a good choice.

>> 3. Does "without breaking compatibility with the old behavior." mean
>> that I should still try to connect to the unix socket placed at the
>> old place? If yes, which order is prefered?
>
> Let me be vague and oblique on purpose ;-)
>
> We used to have only ~/.gitconfig as the per-user location, and at
> some point in the history we added XDG_CONFIG_HOME support.  Study
> how that was done (hint: "git log" and "git blame" may be useful
> tools for this purpose), and imitate it.
>

I have read almost every commit which contains "XDG", as well as their diffs.

I think this issue I'm currently dealing with is a little different
from formers,
For this file is just an unix socket and never persistent. I could not just
keep in step with old behavior unless that user manually create the file
at new-style path.

Of course I could check the existence of `~/.git-credential-cache` and
`$XDG_CONFIG_HOME/git/credential-cache` to decide where to put
the socket, but it's not elegant enough. Because, as mentioned above,
the socket file itself is not persistent.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]