transport-helper: don't update refs in dry-run

The remote helper namespace should not be updated.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Felipe Contreras 2013-10-31 03:36:37 -06:00 committed by Junio C Hamano
parent a21455ae66
commit 5a75353fe3

View File

@ -727,7 +727,8 @@ static int push_update_ref_status(struct strbuf *buf,
}
static void push_update_refs_status(struct helper_data *data,
struct ref *remote_refs)
struct ref *remote_refs,
int flags)
{
struct strbuf buf = STRBUF_INIT;
struct ref *ref = remote_refs;
@ -741,7 +742,7 @@ static void push_update_refs_status(struct helper_data *data,
if (push_update_ref_status(&buf, &ref, remote_refs))
continue;
if (!data->refspecs || data->no_private_update)
if (flags & TRANSPORT_PUSH_DRY_RUN || !data->refspecs || data->no_private_update)
continue;
/* propagate back the update to the remote namespace */
@ -832,7 +833,7 @@ static int push_refs_with_push(struct transport *transport,
sendline(data, &buf);
strbuf_release(&buf);
push_update_refs_status(data, remote_refs);
push_update_refs_status(data, remote_refs, flags);
return 0;
}
@ -886,7 +887,7 @@ static int push_refs_with_export(struct transport *transport,
if (finish_command(&exporter))
die("Error while running fast-export");
push_update_refs_status(data, remote_refs);
push_update_refs_status(data, remote_refs, flags);
return 0;
}