Signed-off-by: Christian Couder <chriscool@xxxxxxxxxxxxx> --- builtin/clone.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/builtin/clone.c b/builtin/clone.c index dda0ad360b..a0d7b2bd2f 100644 --- a/builtin/clone.c +++ b/builtin/clone.c @@ -933,6 +933,7 @@ int cmd_clone(int argc, const char **argv, const char *prefix) struct refspec *initial_refspecs; int is_initial; + int saved_use_external_odb; packet_trace_identity("clone"); argc = parse_options(argc, argv, prefix, builtin_clone_options, @@ -1078,6 +1079,10 @@ int cmd_clone(int argc, const char **argv, const char *prefix) git_config(git_default_config, NULL); + /* Temporarily disable external ODB before initial clone */ + saved_use_external_odb = use_external_odb; + use_external_odb = 0; + if (option_bare) { if (option_mirror) src_ref_prefix = "refs/"; @@ -1161,6 +1166,8 @@ int cmd_clone(int argc, const char **argv, const char *prefix) fetch_initial_refs(transport, refs, initial_refspecs, branch_top.buf, reflog_msg.buf, is_local); + use_external_odb = saved_use_external_odb; + mapped_refs = wanted_peer_refs(refs, refspec); /* * transport_get_remote_refs() may return refs with null sha-1 @@ -1202,6 +1209,9 @@ int cmd_clone(int argc, const char **argv, const char *prefix) option_branch, option_origin); warning(_("You appear to have cloned an empty repository.")); + + use_external_odb = saved_use_external_odb; + mapped_refs = NULL; our_head_points_at = NULL; remote_head_points_at = NULL; -- 2.13.1.565.gbfcd7a9048