advice: allow disabling default branch name advice
The default branch name advice message is displayed when `repo_default_branch_name()` is invoked and the `init.defaultBranch` config is not set. In this scenario, the advice message is always shown even if the `--no-advice` option is used. Adapt `repo_default_branch_name()` to allow the default branch name advice message to be disabled with the `--no-advice` option and corresponding configuration. Signed-off-by: Justin Tobler <jltobler@gmail.com> Acked-by: Phillip Wood <phillip.wood@dunelm.org.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
parent
c039a46e99
commit
ec0f362e86
1
advice.c
1
advice.c
|
@ -51,6 +51,7 @@ static struct {
|
||||||
[ADVICE_AM_WORK_DIR] = { "amWorkDir" },
|
[ADVICE_AM_WORK_DIR] = { "amWorkDir" },
|
||||||
[ADVICE_CHECKOUT_AMBIGUOUS_REMOTE_BRANCH_NAME] = { "checkoutAmbiguousRemoteBranchName" },
|
[ADVICE_CHECKOUT_AMBIGUOUS_REMOTE_BRANCH_NAME] = { "checkoutAmbiguousRemoteBranchName" },
|
||||||
[ADVICE_COMMIT_BEFORE_MERGE] = { "commitBeforeMerge" },
|
[ADVICE_COMMIT_BEFORE_MERGE] = { "commitBeforeMerge" },
|
||||||
|
[ADVICE_DEFAULT_BRANCH_NAME] = { "defaultBranchName" },
|
||||||
[ADVICE_DETACHED_HEAD] = { "detachedHead" },
|
[ADVICE_DETACHED_HEAD] = { "detachedHead" },
|
||||||
[ADVICE_DIVERGING] = { "diverging" },
|
[ADVICE_DIVERGING] = { "diverging" },
|
||||||
[ADVICE_FETCH_SET_HEAD_WARN] = { "fetchRemoteHEADWarn" },
|
[ADVICE_FETCH_SET_HEAD_WARN] = { "fetchRemoteHEADWarn" },
|
||||||
|
|
1
advice.h
1
advice.h
|
@ -18,6 +18,7 @@ enum advice_type {
|
||||||
ADVICE_AM_WORK_DIR,
|
ADVICE_AM_WORK_DIR,
|
||||||
ADVICE_CHECKOUT_AMBIGUOUS_REMOTE_BRANCH_NAME,
|
ADVICE_CHECKOUT_AMBIGUOUS_REMOTE_BRANCH_NAME,
|
||||||
ADVICE_COMMIT_BEFORE_MERGE,
|
ADVICE_COMMIT_BEFORE_MERGE,
|
||||||
|
ADVICE_DEFAULT_BRANCH_NAME,
|
||||||
ADVICE_DETACHED_HEAD,
|
ADVICE_DETACHED_HEAD,
|
||||||
ADVICE_DIVERGING,
|
ADVICE_DIVERGING,
|
||||||
ADVICE_FETCH_SET_HEAD_WARN,
|
ADVICE_FETCH_SET_HEAD_WARN,
|
||||||
|
|
3
refs.c
3
refs.c
|
@ -664,7 +664,8 @@ char *repo_default_branch_name(struct repository *r, int quiet)
|
||||||
if (!ret) {
|
if (!ret) {
|
||||||
ret = xstrdup("master");
|
ret = xstrdup("master");
|
||||||
if (!quiet)
|
if (!quiet)
|
||||||
advise(_(default_branch_name_advice), ret);
|
advise_if_enabled(ADVICE_DEFAULT_BRANCH_NAME,
|
||||||
|
_(default_branch_name_advice), ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
full_ref = xstrfmt("refs/heads/%s", ret);
|
full_ref = xstrfmt("refs/heads/%s", ret);
|
||||||
|
|
|
@ -830,6 +830,14 @@ test_expect_success 'advice on unconfigured init.defaultBranch' '
|
||||||
test_grep "<YELLOW>hint: " decoded
|
test_grep "<YELLOW>hint: " decoded
|
||||||
'
|
'
|
||||||
|
|
||||||
|
test_expect_success 'advice on unconfigured init.defaultBranch disabled' '
|
||||||
|
test_when_finished "rm -rf no-advice" &&
|
||||||
|
|
||||||
|
GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME= \
|
||||||
|
git -c advice.defaultBranchName=false init no-advice 2>err &&
|
||||||
|
test_grep ! "hint: " err
|
||||||
|
'
|
||||||
|
|
||||||
test_expect_success 'overridden default main branch name (env)' '
|
test_expect_success 'overridden default main branch name (env)' '
|
||||||
test_config_global init.defaultBranch nmb &&
|
test_config_global init.defaultBranch nmb &&
|
||||||
GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=env git init main-branch-env &&
|
GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=env git init main-branch-env &&
|
||||||
|
|
Loading…
Reference in New Issue