clone: use configured default branch name when appropriate

When cloning a repository without any branches, Git chooses a default
branch name for the as-yet unborn branch.

As part of the implicit initialization of the local repository, Git just
learned to respect `init.defaultBranch` to choose a different initial
branch name. We now really want that branch name to be used as a
fall-back.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Johannes Schindelin
2020-06-24 14:46:34 +00:00
committed by Junio C Hamano
parent 8747ebb7cd
commit 0cc1b475bb
3 changed files with 24 additions and 5 deletions

View File

@ -1264,9 +1264,13 @@ int cmd_clone(int argc, const char **argv, const char *prefix)
remote_head_points_at = NULL;
remote_head = NULL;
option_no_checkout = 1;
if (!option_bare)
install_branch_config(0, "master", option_origin,
"refs/heads/master");
if (!option_bare) {
const char *branch = git_default_branch_name();
char *ref = xstrfmt("refs/heads/%s", branch);
install_branch_config(0, branch, option_origin, ref);
free(ref);
}
}
write_refspec_config(src_ref_prefix, our_head_points_at,