Merge branch 'jc/3.0-default-initial-branch-to-main-addendum'
Keep giving hint about the default initial branch name for users who may be surprised after Git 3.0 switch-over. * jc/3.0-default-initial-branch-to-main-addendum: initial branch: give hints after switching the default name
This commit is contained in:
2
advice.c
2
advice.c
@@ -51,9 +51,7 @@ static struct {
|
||||
[ADVICE_AM_WORK_DIR] = { "amWorkDir" },
|
||||
[ADVICE_CHECKOUT_AMBIGUOUS_REMOTE_BRANCH_NAME] = { "checkoutAmbiguousRemoteBranchName" },
|
||||
[ADVICE_COMMIT_BEFORE_MERGE] = { "commitBeforeMerge" },
|
||||
#ifndef WITH_BREAKING_CHANGES
|
||||
[ADVICE_DEFAULT_BRANCH_NAME] = { "defaultBranchName" },
|
||||
#endif /* WITH_BREAKING_CHANGES */
|
||||
[ADVICE_DETACHED_HEAD] = { "detachedHead" },
|
||||
[ADVICE_DIVERGING] = { "diverging" },
|
||||
[ADVICE_FETCH_SET_HEAD_WARN] = { "fetchRemoteHEADWarn" },
|
||||
|
||||
4
advice.h
4
advice.h
@@ -18,9 +18,7 @@ enum advice_type {
|
||||
ADVICE_AM_WORK_DIR,
|
||||
ADVICE_CHECKOUT_AMBIGUOUS_REMOTE_BRANCH_NAME,
|
||||
ADVICE_COMMIT_BEFORE_MERGE,
|
||||
#ifndef WITH_BREAKING_CHANGES
|
||||
ADVICE_DEFAULT_BRANCH_NAME,
|
||||
#endif /* WITH_BREAKING_CHANGES */
|
||||
ADVICE_DEFAULT_BRANCH_NAME, /* To be retired sometime after Git 3.0 */
|
||||
ADVICE_DETACHED_HEAD,
|
||||
ADVICE_DIVERGING,
|
||||
ADVICE_FETCH_SET_HEAD_WARN,
|
||||
|
||||
12
refs.c
12
refs.c
@@ -641,9 +641,17 @@ static const char default_branch_name_advice[] = N_(
|
||||
"\n"
|
||||
"\tgit branch -m <name>\n"
|
||||
);
|
||||
#else
|
||||
static const char default_branch_name_advice[] = N_(
|
||||
"Using '%s' as the name for the initial branch since Git 3.0.\n"
|
||||
"If you expected Git to create 'master', the just-created\n"
|
||||
"branch can be renamed via this command:\n"
|
||||
"\n"
|
||||
"\tgit branch -m master\n"
|
||||
);
|
||||
#endif /* WITH_BREAKING_CHANGES */
|
||||
|
||||
char *repo_default_branch_name(struct repository *r, MAYBE_UNUSED int quiet)
|
||||
char *repo_default_branch_name(struct repository *r, int quiet)
|
||||
{
|
||||
const char *config_key = "init.defaultbranch";
|
||||
const char *config_display_key = "init.defaultBranch";
|
||||
@@ -660,10 +668,10 @@ char *repo_default_branch_name(struct repository *r, MAYBE_UNUSED int quiet)
|
||||
ret = xstrdup("main");
|
||||
#else
|
||||
ret = xstrdup("master");
|
||||
#endif /* WITH_BREAKING_CHANGES */
|
||||
if (!quiet)
|
||||
advise_if_enabled(ADVICE_DEFAULT_BRANCH_NAME,
|
||||
_(default_branch_name_advice), ret);
|
||||
#endif /* WITH_BREAKING_CHANGES */
|
||||
}
|
||||
|
||||
full_ref = xstrfmt("refs/heads/%s", ret);
|
||||
|
||||
@@ -868,7 +868,7 @@ test_expect_success 'overridden default initial branch name (config)' '
|
||||
grep nmb actual
|
||||
'
|
||||
|
||||
test_expect_success !WITH_BREAKING_CHANGES 'advice on unconfigured init.defaultBranch' '
|
||||
test_expect_success 'advice on unconfigured init.defaultBranch' '
|
||||
GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME= git -c color.advice=always \
|
||||
init unconfigured-default-branch-name 2>err &&
|
||||
test_decode_color <err >decoded &&
|
||||
|
||||
@@ -127,13 +127,17 @@ then
|
||||
export GIT_TEST_DISALLOW_ABBREVIATED_OPTIONS
|
||||
fi
|
||||
|
||||
# Explicitly set the default branch name for testing, to squelch hints
|
||||
# from "git init" during the transition period. Should be removed
|
||||
# after we decide to remove ADVICE_DEFAULT_BRANCH_NAME
|
||||
if test -z "$WITH_BREAKING_CHANGES"
|
||||
then
|
||||
# Explicitly set the default branch name for testing, to avoid the
|
||||
# transitory "git init" warning under --verbose.
|
||||
: ${GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME:=master}
|
||||
export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
|
||||
else
|
||||
: ${GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME:=main}
|
||||
fi
|
||||
export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
|
||||
|
||||
|
||||
################################################################
|
||||
# It appears that people try to run tests without building...
|
||||
|
||||
Reference in New Issue
Block a user