git@vger.kernel.org list mirror (unofficial, one of many)
 help / color / mirror / code / Atom feed
6516a1f89fd31d0461441238833fb5060aa91b77 blob 1143 bytes (raw)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
 
#include "cache.h"
#include "exec_cmd.h"
#include "attr.h"

/*
 * Many parts of Git have subprograms communicate via pipe, expect the
 * upstream of a pipe to die with SIGPIPE when the downstream of a
 * pipe does not need to read all that is written.  Some third-party
 * programs that ignore or block SIGPIPE for their own reason forget
 * to restore SIGPIPE handling to the default before spawning Git and
 * break this carefully orchestrated machinery.
 *
 * Restore the way SIGPIPE is handled to default, which is what we
 * expect.
 */
static void restore_sigpipe_to_default(void)
{
	sigset_t unblock;

	sigemptyset(&unblock);
	sigaddset(&unblock, SIGPIPE);
	sigprocmask(SIG_UNBLOCK, &unblock, NULL);
	signal(SIGPIPE, SIG_DFL);
}

int main(int argc, const char **argv)
{
	/*
	 * Always open file descriptors 0/1/2 to avoid clobbering files
	 * in die().  It also avoids messing up when the pipes are dup'ed
	 * onto stdin/stdout/stderr in the child processes we spawn.
	 */
	sanitize_stdfds();

	git_resolve_executable_dir(argv[0]);

	git_setup_gettext();

	attr_start();

	restore_sigpipe_to_default();

	return cmd_main(argc, argv);
}
debug log:

solving 6516a1f89 ...
found 6516a1f89 in https://public-inbox.org/git/20171116170523.28696-2-dnj@google.com/ ||
	https://public-inbox.org/git/20180319025046.58052-4-dnj@google.com/ ||
	https://public-inbox.org/git/20180325205120.17730-4-dnj@google.com/ ||
	https://public-inbox.org/git/20180108030239.92036-4-dnj@google.com/ ||
	https://public-inbox.org/git/20171127164055.93283-5-dnj@google.com/ ||
	https://public-inbox.org/git/20171129155637.89075-5-dnj@google.com/ ||
	https://public-inbox.org/git/20171119173141.4896-2-dnj@google.com/
found 6a689007e in git.git.git
preparing index
index prepared:
100644 6a689007e7ce3fe08f148e8b82c0a1c618c513a5	common-main.c

applying [1/7] https://public-inbox.org/git/20171116170523.28696-2-dnj@google.com/
diff --git a/common-main.c b/common-main.c
index 6a689007e..6516a1f89 100644

Checking patch common-main.c...
Applied patch common-main.c cleanly.

skipping https://public-inbox.org/git/20180319025046.58052-4-dnj@google.com/ for 6516a1f89
skipping https://public-inbox.org/git/20180325205120.17730-4-dnj@google.com/ for 6516a1f89
skipping https://public-inbox.org/git/20180108030239.92036-4-dnj@google.com/ for 6516a1f89
skipping https://public-inbox.org/git/20171127164055.93283-5-dnj@google.com/ for 6516a1f89
skipping https://public-inbox.org/git/20171129155637.89075-5-dnj@google.com/ for 6516a1f89
skipping https://public-inbox.org/git/20171119173141.4896-2-dnj@google.com/ for 6516a1f89
index at:
100644 6516a1f89fd31d0461441238833fb5060aa91b77	common-main.c

git@vger.kernel.org list mirror (unofficial, one of many)

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://public-inbox.org/git
	git clone --mirror http://ou63pmih66umazou.onion/git
	git clone --mirror http://czquwvybam4bgbro.onion/git
	git clone --mirror http://hjrcffqmbrq6wope.onion/git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V1 git git/ https://public-inbox.org/git \
		git@vger.kernel.org
	public-inbox-index git

Example config snippet for mirrors.
Newsgroups are available over NNTP:
	nntp://news.public-inbox.org/inbox.comp.version-control.git
	nntp://7fh6tueqddpjyxjmgtdiueylzoqt6pt7hec3pukyptlmohoowvhde4yd.onion/inbox.comp.version-control.git
	nntp://ie5yzdi7fg72h7s4sdcztq5evakq23rdt33mfyfcddc5u3ndnw24ogqd.onion/inbox.comp.version-control.git
	nntp://4uok3hntl7oi7b4uf4rtfwefqeexfzil2w6kgk2jn5z2f764irre7byd.onion/inbox.comp.version-control.git
	nntp://news.gmane.io/gmane.comp.version-control.git
 note: .onion URLs require Tor: https://www.torproject.org/

code repositories for project(s) associated with this inbox:

	https://80x24.org/mirrors/git.git

AGPL code for this site: git clone https://public-inbox.org/public-inbox.git