credential-cache: new option to ignore sighup
Introduce new option "credentialCache.ignoreSIGHUP" which stops git-credential-cache--daemon from quitting on SIGHUP. This is useful when "git push" is started from Emacs, because all child processes (including the daemon) will receive a SIGHUP when "git push" exits. Signed-off-by: Noam Postavsky <npostavs@users.sourceforge.net> Signed-off-by: Jeff King <peff@peff.net>
This commit is contained in:
parent
0c83680e9c
commit
7f4d4746c1
@ -1122,6 +1122,9 @@ credential.<url>.*::
|
||||
example.com. See linkgit:gitcredentials[7] for details on how URLs are
|
||||
matched.
|
||||
|
||||
credentialCache.ignoreSIGHUP::
|
||||
Tell git-credential-cache--daemon to ignore SIGHUP, instead of quitting.
|
||||
|
||||
include::diff-config.txt[]
|
||||
|
||||
difftool.<tool>.path::
|
||||
|
@ -244,6 +244,7 @@ static void check_socket_directory(const char *path)
|
||||
int main(int argc, const char **argv)
|
||||
{
|
||||
const char *socket_path;
|
||||
int ignore_sighup = 0;
|
||||
static const char *usage[] = {
|
||||
"git-credential-cache--daemon [opts] <socket_path>",
|
||||
NULL
|
||||
@ -255,6 +256,8 @@ int main(int argc, const char **argv)
|
||||
OPT_END()
|
||||
};
|
||||
|
||||
git_config_get_bool("credentialcache.ignoresighup", &ignore_sighup);
|
||||
|
||||
argc = parse_options(argc, argv, NULL, options, usage, 0);
|
||||
socket_path = argv[0];
|
||||
|
||||
@ -263,6 +266,10 @@ int main(int argc, const char **argv)
|
||||
|
||||
check_socket_directory(socket_path);
|
||||
register_tempfile(&socket_file, socket_path);
|
||||
|
||||
if (ignore_sighup)
|
||||
signal(SIGHUP, SIG_IGN);
|
||||
|
||||
serve_cache(socket_path, debug);
|
||||
delete_tempfile(&socket_file);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user