Merge branch 'sp/maint-push-sideband' into maint

* sp/maint-push-sideband:
  receive-pack: Send internal errors over side-band #2
  t5401: Use a bare repository for the remote peer
  receive-pack: Send hook output over side band #2
  receive-pack: Wrap status reports inside side-band-64k
  receive-pack: Refactor how capabilities are shown to the client
  send-pack: demultiplex a sideband stream with status data
  run-command: support custom fd-set in async
  run-command: Allow stderr to be a caller supplied pipe

Conflicts:
	builtin-receive-pack.c
	run-command.c
	t/t5401-update-hooks.sh
This commit is contained in:
Junio C Hamano
2010-03-02 22:54:50 -08:00
10 changed files with 370 additions and 134 deletions

View File

@ -184,13 +184,13 @@ static struct discovery* discover_refs(const char *service)
return last;
}
static int write_discovery(int fd, void *data)
static int write_discovery(int in, int out, void *data)
{
struct discovery *heads = data;
int err = 0;
if (write_in_full(fd, heads->buf, heads->len) != heads->len)
if (write_in_full(out, heads->buf, heads->len) != heads->len)
err = 1;
close(fd);
close(out);
return err;
}
@ -202,6 +202,7 @@ static struct ref *parse_git_refs(struct discovery *heads)
memset(&async, 0, sizeof(async));
async.proc = write_discovery;
async.data = heads;
async.out = -1;
if (start_async(&async))
die("cannot start thread to parse advertised refs");