diff options
author | Michael Haggerty <mhagger@alum.mit.edu> | 2012-02-11 07:20:56 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2012-02-12 19:50:39 -0800 |
commit | 5b05795c4cdf39348c18e40c12e70bd00a7192e5 (patch) | |
tree | a2bc655a3c3794843ebfbb2569eeca7ed26258a1 | |
parent | t5700: document a failure of alternates to affect fetch (diff) | |
download | tgif-5b05795c4cdf39348c18e40c12e70bd00a7192e5.tar.xz |
clone.c: move more code into the "if (refs)" conditional
The bahavior of a bunch of code before the "if (refs)" statement also
depends on whether refs is set, so make the logic clearer by shifting
this code into the if statement.
Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | builtin/clone.c | 39 |
1 files changed, 20 insertions, 19 deletions
diff --git a/builtin/clone.c b/builtin/clone.c index c62d4b5737..279fdf0d25 100644 --- a/builtin/clone.c +++ b/builtin/clone.c @@ -813,28 +813,28 @@ int cmd_clone(int argc, const char **argv, const char *prefix) } refs = transport_get_remote_refs(transport); - mapped_refs = refs ? wanted_peer_refs(refs, refspec) : NULL; - /* - * transport_get_remote_refs() may return refs with null sha-1 - * in mapped_refs (see struct transport->get_refs_list - * comment). In that case we need fetch it early because - * remote_head code below relies on it. - * - * for normal clones, transport_get_remote_refs() should - * return reliable ref set, we can delay cloning until after - * remote HEAD check. - */ - for (ref = refs; ref; ref = ref->next) - if (is_null_sha1(ref->old_sha1)) { - complete_refs_before_fetch = 0; - break; - } + if (refs) { + mapped_refs = wanted_peer_refs(refs, refspec); + /* + * transport_get_remote_refs() may return refs with null sha-1 + * in mapped_refs (see struct transport->get_refs_list + * comment). In that case we need fetch it early because + * remote_head code below relies on it. + * + * for normal clones, transport_get_remote_refs() should + * return reliable ref set, we can delay cloning until after + * remote HEAD check. + */ + for (ref = refs; ref; ref = ref->next) + if (is_null_sha1(ref->old_sha1)) { + complete_refs_before_fetch = 0; + break; + } - if (!is_local && !complete_refs_before_fetch && refs) - transport_fetch_refs(transport, mapped_refs); + if (!is_local && !complete_refs_before_fetch) + transport_fetch_refs(transport, mapped_refs); - if (refs) { remote_head = find_ref_by_name(refs, "HEAD"); remote_head_points_at = guess_remote_head(remote_head, mapped_refs, 0); @@ -852,6 +852,7 @@ int cmd_clone(int argc, const char **argv, const char *prefix) } else { warning(_("You appear to have cloned an empty repository.")); + mapped_refs = NULL; our_head_points_at = NULL; remote_head_points_at = NULL; remote_head = NULL; |