On Wed, Aug 26, 2020 at 02:37:39PM -0700, Junio C Hamano wrote: > diff --git a/builtin/credential-cache.c b/builtin/credential-cache.c > index d0fafdeb9e..195335a783 100644 > --- a/builtin/credential-cache.c > +++ b/builtin/credential-cache.c > @@ -42,13 +42,13 @@ static int send_request(const char *socket, const struct strbuf *out) > static void spawn_daemon(const char *socket) > { > struct child_process daemon = CHILD_PROCESS_INIT; > - const char *argv[] = { NULL, NULL, NULL }; > char buf[128]; > int r; > > - argv[0] = "git-credential-cache--daemon"; > - argv[1] = socket; > - daemon.argv = argv; > + strvec_pushl(&daemon.args, > + "credential-cache--daemon", socket, > + NULL); > + daemon.git_cmd = 1; Yep, this makes sense. I don't recall any reason to use the dashed form back then, but probably it was just that I knew it was a separate program. Doing it this way will mean an extra parent "git" process hanging around, but I don't think it's that big a deal. We never try to kill it by PID, etc (instead we connect to the socket and ask it to exit). And anyway, it is becoming a builtin in a parallel topic, so that extra process will go away. :) -Peff