summaryrefslogtreecommitdiff
path: root/transport-helper.c
diff options
context:
space:
mode:
authorFelipe Contreras <felipe.contreras@gmail.com>2013-11-12 14:56:57 -0600
committerJunio C Hamano <gitster@pobox.com>2013-11-12 13:34:48 -0800
commitf9e3c6bebb89de12f2dfdaa1899cb22e9ef32542 (patch)
treec2e0131e791d64697f90e4e5a1c7618f99b457da /transport-helper.c
parent510fa6f5188d715050899eee221c739f1c0a8b12 (diff)
downloadgit-f9e3c6bebb89de12f2dfdaa1899cb22e9ef32542.tar.gz
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>
Diffstat (limited to 'transport-helper.c')
-rw-r--r--transport-helper.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/transport-helper.c b/transport-helper.c
index bcf5469bcc..abe4c3c2c2 100644
--- a/transport-helper.c
+++ b/transport-helper.c
@@ -643,7 +643,7 @@ static int push_update_ref_status(struct strbuf *buf,
struct ref *remote_refs)
{
char *refname, *msg;
- int status;
+ int status, forced = 0;
if (!prefixcmp(buf->buf, "ok ")) {
status = REF_STATUS_OK;
@@ -701,6 +701,11 @@ static int push_update_ref_status(struct strbuf *buf,
free(msg);
msg = NULL;
}
+ else if (!strcmp(msg, "forced update")) {
+ forced = 1;
+ free(msg);
+ msg = NULL;
+ }
}
if (*ref)
@@ -722,6 +727,7 @@ static int push_update_ref_status(struct strbuf *buf,
}
(*ref)->status = status;
+ (*ref)->forced_update = forced;
(*ref)->remote_status = msg;
return !(status == REF_STATUS_OK);
}