All of lore.kernel.org
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Devin Lehmacher <lehmacdj@gmail.com>
Cc: git@vger.kernel.org
Subject: Re: [GSoC][PATCH/RFC v3 3/3] credential-cache: only use user_socket if a socket
Date: Mon, 13 Mar 2017 23:10:29 -0700	[thread overview]
Message-ID: <xmqqo9x4jsmi.fsf@gitster.mtv.corp.google.com> (raw)
In-Reply-To: <xmqq8to8lj59.fsf@gitster.mtv.corp.google.com> (Junio C. Hamano's message of "Mon, 13 Mar 2017 18:52:18 -0700")

Junio C Hamano <gitster@pobox.com> writes:

> Devin Lehmacher <lehmacdj@gmail.com> writes:
>
>> diff --git a/credential-cache.c b/credential-cache.c
>> index db1343b46..63236adc2 100644
>> --- a/credential-cache.c
>> +++ b/credential-cache.c
>> @@ -83,12 +83,18 @@ static void do_cache(const char *socket, const char *action, int timeout,
>>  	strbuf_release(&buf);
>>  }
>>  
>> +static int is_socket(char *path) {
>> +	struct stat sb;
>> +	int ret = lstat(path, &sb);
>> +	return ret && S_IFSOCK(sb.st_mode);
>> +}
>> +
>>  static char *get_socket_path(void) {
>>  	char *home_socket;
>>  
>>  	home_socket = expand_user_path("~/.git-credential-cache/socket");
>>  	if (home_socket) {
>> -		if (file_exists(home_socket))
>> +		if (is_socket(home_socket))
>
> This should be done as part of 2/3, no?  It does not make sense to
> add 2/3 and then immediately say "oops, the check in 2/3 is wrong,
> and let's update it like so".

Also I think you would want to use S_ISFIFO() and/or S_ISSOCK()
macros (I do not offhand recall which one credential cache daemon
uses), not the S_IFxxx constant.

Perhaps 

   1/3 - add xdg_cache similar to xdg_config

   2/3 - add is_socket()

   3/3 - use xdg_cache location for socket if traditional location
         is not in use

would be a better logical ordering of the patches.

Having said that, I do not think ~/.git-credential-cache/socket is
the right thing to test.  If the ~/.git-credential-cache directory
already exists, it is likely that the user has a set-up that works
well with "socket" inside it, and it is safer to keep using that
location.  

On the other hand, if that directory does not exist, we know it is
safe to use whatever new location---after all, the lack of the
directory tells us that the user has never used the traditional
location successfully ;-)

So is_socket() may not even be needed, in which case this will be a
two-patch series:

   1/2 - add xdg_cache similar to xdg_config
   2/2 - use xdg_cache location if ~/.git-credential-cache/ is not there


  reply	other threads:[~2017-03-14  6:10 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-13 17:22 [GSoC][PATCH 0/3] Move ~/.git-credential-cache to ~/.cache/git Devin Lehmacher
2017-03-13 17:22 ` [GSoC][PATCH 1/3] path.c: Add xdg_cache_home to get paths under XDG_CACHE_HOME Devin Lehmacher
2017-03-13 18:48   ` Jeff King
2017-03-13 19:44     ` Devin Lehmacher
2017-03-13 17:22 ` [GSoC][PATCH 2/3] credential-cache.c: Make git use XDG_CACHE_HOME for credentials Devin Lehmacher
2017-03-13 18:09   ` Junio C Hamano
2017-03-13 19:03     ` Jeff King
2017-03-13 19:05       ` Junio C Hamano
2017-03-13 19:24         ` Devin Lehmacher
2017-03-13 19:22     ` Devin Lehmacher
2017-03-13 18:11   ` Junio C Hamano
2017-03-13 19:01   ` Jeff King
2017-03-13 17:22 ` [GSoC][PATCH 3/3] Update documentation to reflect new socket location Devin Lehmacher
2017-03-13 18:04   ` Junio C Hamano
2017-03-13 20:42   ` [GSoC][PATCH v2 2/2] credential-cache: use XDG_CACHE_HOME for socket Devin Lehmacher
2017-03-13 20:43   ` [GSoC][PATCH v2 1/2] path.c: add xdg_cache_home Devin Lehmacher
2017-03-13 20:43     ` [GSoC][PATCH v2 2/2] credential-cache: use XDG_CACHE_HOME for socket Devin Lehmacher
2017-03-13 21:52       ` Junio C Hamano
2017-03-14  0:32         ` [GSoC][PATCH/RFC v3 0/3] Fix commit messages, check if socket is socket Devin Lehmacher
2017-03-14  0:32           ` [GSoC][PATCH/RFC v3 1/3] path.c: add xdg_cache_home Devin Lehmacher
2017-03-14  0:32           ` [GSoC][PATCH/RFC v3 2/3] credential-cache: use XDG_CACHE_HOME for socket Devin Lehmacher
2017-03-14  1:50             ` Junio C Hamano
2017-03-14  0:32           ` [GSoC][PATCH/RFC v3 3/3] credential-cache: only use user_socket if a socket Devin Lehmacher
2017-03-14  0:40             ` Devin Lehmacher
2017-03-14  0:44               ` Brandon Williams
2017-03-14  1:30                 ` Devin Lehmacher
2017-03-14 17:03                   ` Brandon Williams
2017-03-14  1:52             ` Junio C Hamano
2017-03-14  6:10               ` Junio C Hamano [this message]
2017-03-14  6:17                 ` Devin Lehmacher
2017-03-16  5:18             ` [GSoC][PATCH v4 0/4] Moving credential-cache socket to xdg path Devin Lehmacher
2017-03-16  5:18               ` [GSoC][PATCH v4 1/4] path.c: add xdg_cache_home Devin Lehmacher
2017-03-16  5:18               ` [GSoC][PATCH v4 2/4] dir: add directory_exists Devin Lehmacher
2017-03-16 16:09                 ` Junio C Hamano
2017-03-16 18:26                   ` Junio C Hamano
2017-03-16  5:18               ` [GSoC][PATCH v4 3/4] credential-cache: use XDG_CACHE_HOME for socket Devin Lehmacher
2017-03-16 16:20                 ` Junio C Hamano
2017-03-16 18:02                   ` Jeff King
2017-03-16  5:18               ` [GSoC][PATCH v4 4/4] credential-cache: add tests for XDG functionality Devin Lehmacher
2017-03-16 16:29                 ` Junio C Hamano
2017-03-16 17:58                   ` Jeff King
2017-03-17  2:53                 ` [GSoC][PATCH v5 1/3] path.c: add xdg_cache_home Devin Lehmacher
2017-03-17  2:53                   ` [GSoC][PATCH v5 2/3] credential-cache: use XDG_CACHE_HOME for socket Devin Lehmacher
2017-03-17 16:12                     ` Ramsay Jones
2017-03-17 19:31                       ` Devin Lehmacher
2017-03-17  2:53                   ` [GSoC][PATCH v5 3/3] credential-cache: add tests for XDG functionality Devin Lehmacher
2017-03-17  5:38                     ` Junio C Hamano
2017-03-17 12:36                     ` [GSoC][PATCH v6 1/3] path.c: add xdg_cache_home Devin Lehmacher
2017-03-17 12:36                       ` [GSoC][PATCH v6 2/3] credential-cache: use XDG_CACHE_HOME for socket Devin Lehmacher
2017-03-17 13:42                         ` Jeff King
2017-03-17 12:36                       ` [GSoC][PATCH v6 3/3] credential-cache: add tests for XDG functionality Devin Lehmacher
2017-03-17 13:38                         ` Jeff King
2017-03-17 13:42                       ` [GSoC][PATCH v6 1/3] path.c: add xdg_cache_home Jeff King
2017-03-13 21:39     ` [GSoC][PATCH v2 1/2] " Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=xmqqo9x4jsmi.fsf@gitster.mtv.corp.google.com \
    --to=gitster@pobox.com \
    --cc=git@vger.kernel.org \
    --cc=lehmacdj@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.