From: Jonathan Nieder Date: Sat, 11 Mar 2017 00:26:15 GMT Subject: Re: [GSoC] Move ~/.git-credential-cache to ~/.cache/git Message-ID: <20170311002615.GG26789@aiede.mtv.corp.google.com> In-Reply-To: <8BE1A361-32BB-4164-AD54-949555855C52@cornell.edu> (+cc: npostavs) Hi Devin, Devin Lehmacher wrote: > I started working on this microproject and am not quite sure what is > necessary for backwards compatibility. Since the socket is recreated > whenever the credential daemon exits backwards compatibility > shouldn’t really be a concern with regard to where the socket is > located in the filesystem. > > However, contrib/persistent-https depends on the socket being at > ~/.git-credential-cache/socket, so changing the default location > would break this. However, if we need to keep the socket at that > location for cases like this I don’t understand how this change > would be helpful in any way. That's a good question. If I'm reading contrib/persistent-https/ correctly, it uses the same directory but doesn't rely on the socket there, so it should not be a problem. However, that reminded me to search for other tools that might rely on the socket. Using https://codesearch.debian.net/search?q=%5C.git-credential-cache, I find that magit does rely on the socket path. $ git clone https://github.com/magit/magit $ git log -S.git-credential-cache commit 0f30dfbb0075ac2e99b65a2c7fac360197a989c1 Author: Noam Postavsky Date: Sat Oct 24 15:57:54 2015 -0400 Start credential daemon on magit-credential-hook If we let git start the daemon, Emacs will send a SIGHUP when git finishes and closes the pty, killing the daemon. Hence the need to have our own daemon running first. Cc-ing Noam to figure out what a safe transition will look like. Thanks for noticing, Jonathan