get_default_branch_name(): prepare for showing some advice
We are about to introduce a message giving users running `git init` some advice about `init.defaultBranch`. This will necessarily be done in `repo_default_branch_name()`. Not all code paths want to show that advice, though. In particular, the `git clone` codepath _specifically_ asks for `init_db()` to be quiet, via the `INIT_DB_QUIET` flag. In preparation for showing users above-mentioned advice, let's change the function signature of `get_default_branch_name()` to accept the parameter `quiet`. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
cfaff3aac8
commit
cc0f13c57d
@ -1323,7 +1323,7 @@ int cmd_clone(int argc, const char **argv, const char *prefix)
|
|||||||
remote_head = NULL;
|
remote_head = NULL;
|
||||||
option_no_checkout = 1;
|
option_no_checkout = 1;
|
||||||
if (!option_bare) {
|
if (!option_bare) {
|
||||||
const char *branch = git_default_branch_name();
|
const char *branch = git_default_branch_name(0);
|
||||||
char *ref = xstrfmt("refs/heads/%s", branch);
|
char *ref = xstrfmt("refs/heads/%s", branch);
|
||||||
|
|
||||||
install_branch_config(0, branch, remote_name, ref);
|
install_branch_config(0, branch, remote_name, ref);
|
||||||
|
@ -202,7 +202,8 @@ void initialize_repository_version(int hash_algo, int reinit)
|
|||||||
static int create_default_files(const char *template_path,
|
static int create_default_files(const char *template_path,
|
||||||
const char *original_git_dir,
|
const char *original_git_dir,
|
||||||
const char *initial_branch,
|
const char *initial_branch,
|
||||||
const struct repository_format *fmt)
|
const struct repository_format *fmt,
|
||||||
|
int quiet)
|
||||||
{
|
{
|
||||||
struct stat st1;
|
struct stat st1;
|
||||||
struct strbuf buf = STRBUF_INIT;
|
struct strbuf buf = STRBUF_INIT;
|
||||||
@ -267,7 +268,7 @@ static int create_default_files(const char *template_path,
|
|||||||
char *ref;
|
char *ref;
|
||||||
|
|
||||||
if (!initial_branch)
|
if (!initial_branch)
|
||||||
initial_branch = git_default_branch_name();
|
initial_branch = git_default_branch_name(quiet);
|
||||||
|
|
||||||
ref = xstrfmt("refs/heads/%s", initial_branch);
|
ref = xstrfmt("refs/heads/%s", initial_branch);
|
||||||
if (check_refname_format(ref, 0) < 0)
|
if (check_refname_format(ref, 0) < 0)
|
||||||
@ -438,7 +439,8 @@ int init_db(const char *git_dir, const char *real_git_dir,
|
|||||||
validate_hash_algorithm(&repo_fmt, hash);
|
validate_hash_algorithm(&repo_fmt, hash);
|
||||||
|
|
||||||
reinit = create_default_files(template_dir, original_git_dir,
|
reinit = create_default_files(template_dir, original_git_dir,
|
||||||
initial_branch, &repo_fmt);
|
initial_branch, &repo_fmt,
|
||||||
|
flags & INIT_DB_QUIET);
|
||||||
if (reinit && initial_branch)
|
if (reinit && initial_branch)
|
||||||
warning(_("re-init: ignored --initial-branch=%s"),
|
warning(_("re-init: ignored --initial-branch=%s"),
|
||||||
initial_branch);
|
initial_branch);
|
||||||
|
6
refs.c
6
refs.c
@ -562,7 +562,7 @@ void expand_ref_prefix(struct strvec *prefixes, const char *prefix)
|
|||||||
strvec_pushf(prefixes, *p, len, prefix);
|
strvec_pushf(prefixes, *p, len, prefix);
|
||||||
}
|
}
|
||||||
|
|
||||||
char *repo_default_branch_name(struct repository *r)
|
char *repo_default_branch_name(struct repository *r, int quiet)
|
||||||
{
|
{
|
||||||
const char *config_key = "init.defaultbranch";
|
const char *config_key = "init.defaultbranch";
|
||||||
const char *config_display_key = "init.defaultBranch";
|
const char *config_display_key = "init.defaultBranch";
|
||||||
@ -585,12 +585,12 @@ char *repo_default_branch_name(struct repository *r)
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *git_default_branch_name(void)
|
const char *git_default_branch_name(int quiet)
|
||||||
{
|
{
|
||||||
static char *ret;
|
static char *ret;
|
||||||
|
|
||||||
if (!ret)
|
if (!ret)
|
||||||
ret = repo_default_branch_name(the_repository);
|
ret = repo_default_branch_name(the_repository, quiet);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
4
refs.h
4
refs.h
@ -170,8 +170,8 @@ int dwim_log(const char *str, int len, struct object_id *oid, char **ref);
|
|||||||
* The return value of `repo_default_branch_name()` is an allocated string. The
|
* The return value of `repo_default_branch_name()` is an allocated string. The
|
||||||
* return value of `git_default_branch_name()` is a singleton.
|
* return value of `git_default_branch_name()` is a singleton.
|
||||||
*/
|
*/
|
||||||
const char *git_default_branch_name(void);
|
const char *git_default_branch_name(int quiet);
|
||||||
char *repo_default_branch_name(struct repository *r);
|
char *repo_default_branch_name(struct repository *r, int quiet);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* A ref_transaction represents a collection of reference updates that
|
* A ref_transaction represents a collection of reference updates that
|
||||||
|
5
remote.c
5
remote.c
@ -284,7 +284,7 @@ static void read_branches_file(struct remote *remote)
|
|||||||
if (frag)
|
if (frag)
|
||||||
*(frag++) = '\0';
|
*(frag++) = '\0';
|
||||||
else
|
else
|
||||||
frag = (char *)git_default_branch_name();
|
frag = (char *)git_default_branch_name(0);
|
||||||
|
|
||||||
add_url_alias(remote, strbuf_detach(&buf, NULL));
|
add_url_alias(remote, strbuf_detach(&buf, NULL));
|
||||||
refspec_appendf(&remote->fetch, "refs/heads/%s:refs/heads/%s",
|
refspec_appendf(&remote->fetch, "refs/heads/%s:refs/heads/%s",
|
||||||
@ -2206,7 +2206,8 @@ struct ref *guess_remote_head(const struct ref *head,
|
|||||||
|
|
||||||
/* If a remote branch exists with the default branch name, let's use it. */
|
/* If a remote branch exists with the default branch name, let's use it. */
|
||||||
if (!all) {
|
if (!all) {
|
||||||
char *ref = xstrfmt("refs/heads/%s", git_default_branch_name());
|
char *ref = xstrfmt("refs/heads/%s",
|
||||||
|
git_default_branch_name(0));
|
||||||
|
|
||||||
r = find_ref_by_name(refs, ref);
|
r = find_ref_by_name(refs, ref);
|
||||||
free(ref);
|
free(ref);
|
||||||
|
Reference in New Issue
Block a user