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