[RFC/PATCH v4 45/49] clone: add initial param to write_remote_refs()
From: Christian Couder <hidden>
Date: 2017-06-20 07:57:06
Subsystem:
the rest · Maintainer:
Linus Torvalds
Signed-off-by: Christian Couder <redacted> --- builtin/clone.c | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-)
diff --git a/builtin/clone.c b/builtin/clone.c
index 370a233d22..bd690576e6 100644
--- a/builtin/clone.c
+++ b/builtin/clone.c@@ -572,7 +572,7 @@ static struct ref *wanted_peer_refs(const struct ref *refs, return local_refs; } -static void write_remote_refs(const struct ref *local_refs) +static void write_remote_refs(const struct ref *local_refs, int initial) { const struct ref *r;
@@ -591,8 +591,13 @@ static void write_remote_refs(const struct ref *local_refs) die("%s", err.buf); } - if (initial_ref_transaction_commit(t, &err)) - die("%s", err.buf); + if (initial) { + if (initial_ref_transaction_commit(t, &err)) + die("%s", err.buf); + } else { + if (ref_transaction_commit(t, &err)) + die("%s", err.buf); + } strbuf_release(&err); ref_transaction_free(t);
@@ -639,7 +644,8 @@ static void update_remote_refs(const struct ref *refs, const char *branch_top, const char *msg, struct transport *transport, - int check_connectivity) + int check_connectivity, + int initial) { const struct ref *rm = mapped_refs;
@@ -654,7 +660,7 @@ static void update_remote_refs(const struct ref *refs, } if (refs) { - write_remote_refs(mapped_refs); + write_remote_refs(mapped_refs, initial); if (option_single_branch && !option_no_tags) write_followtags(refs, msg); }
@@ -1163,7 +1169,8 @@ int cmd_clone(int argc, const char **argv, const char *prefix) transport_fetch_refs(transport, mapped_refs); update_remote_refs(refs, mapped_refs, remote_head_points_at, - branch_top.buf, reflog_msg.buf, transport, !is_local); + branch_top.buf, reflog_msg.buf, transport, + !is_local, 0); update_head(our_head_points_at, remote_head, reflog_msg.buf);
--
2.13.1.565.gbfcd7a9048