2016-03-17 16:12 GMT+08:00 Junio C Hamano <gitster@xxxxxxxxx>: > 谭俊浩 <pickfire@xxxxxxxxxx> writes: > >> On 17/03/2016 01:24, Junio C Hamano wrote: >> >>> Using ~/.git-credential-cache/credential-cache.sock would not help >>> at all for existing users, but ~/.git-credential-cache/socket would >>> interoperate well with users with existing versions of Git, no? >>> >>>>> Just being curious, and wanting to see the reasoning behind the >>>>> design decision the patch series makes in the log message of one of >>>>> these patches. >> >> I guess it is better to use /tmp or such instead of $HOME/.* so that >> the users home directory won't be flooded by sockets. > > The "fallback" being discussed is to see if $XDG can be used (and > use it if so), otherwise see if ~/.git-credential-cache/socket can > be used (and use it if so), otherwise die with a message (see > credential-cache.c). The order of the falling back may want to be > the other way around, but in either case, the definition of "can be > used" includes "is there already a directory in which we can create > a socket?". > > The existing versions have used ~/.git-credential-cache/socket as > the default socket path, so it is reasonable to expect that users > that are already using the feature already have the directory there. > > So I do not think there is any "flooded" involved; if the directory > is already there, we can use it to create and use a single socket. > It's not like we'd be creating many random new directories in ~/. As mentioned above, The purpose I try "$XDG_RUNTIME_DIR" and then "/tmp/git-$uid" is that I'd like to build an identical mechanism for searching for path to store runtime files such as socket and so on. I guess you would not second an additional configuration to let git store runtime files under XDG-compatible path. Then is there any better solution to keep compatibility than checking the existence of ~/.git-credential-cache? I'm not sure. I think we could left following message in documentation: From version xxx, we put the socket under a XDG-compatible path instead of a directory under $HOME. If that incompatibility disturbs you, please consider adding `--socket $HOME/.git-credential-cache/socket` to your configuration. -- 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