transport-helper: check for 'forced update' message

So the remote-helpers can tell us when a forced push was needed.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Felipe Contreras 2013-11-12 14:56:57 -06:00 committed by Junio C Hamano
parent 510fa6f518
commit f9e3c6bebb
1 changed files with 7 additions and 1 deletions

View File

@ -643,7 +643,7 @@ static int push_update_ref_status(struct strbuf *buf,
struct ref *remote_refs) struct ref *remote_refs)
{ {
char *refname, *msg; char *refname, *msg;
int status; int status, forced = 0;


if (!prefixcmp(buf->buf, "ok ")) { if (!prefixcmp(buf->buf, "ok ")) {
status = REF_STATUS_OK; status = REF_STATUS_OK;
@ -701,6 +701,11 @@ static int push_update_ref_status(struct strbuf *buf,
free(msg); free(msg);
msg = NULL; msg = NULL;
} }
else if (!strcmp(msg, "forced update")) {
forced = 1;
free(msg);
msg = NULL;
}
} }


if (*ref) if (*ref)
@ -722,6 +727,7 @@ static int push_update_ref_status(struct strbuf *buf,
} }


(*ref)->status = status; (*ref)->status = status;
(*ref)->forced_update = forced;
(*ref)->remote_status = msg; (*ref)->remote_status = msg;
return !(status == REF_STATUS_OK); return !(status == REF_STATUS_OK);
} }