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
parent
510fa6f518
commit
f9e3c6bebb
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue