Skip to content

Commit d960d6a

Browse files
committed
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
2 parents e50c3ca + 373ad89 commit d960d6a

File tree

5 files changed

+19
-11
lines changed

5 files changed

+19
-11
lines changed

advice.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,7 @@ static struct {
5151
[ADVICE_AM_WORK_DIR] = { "amWorkDir" },
5252
[ADVICE_CHECKOUT_AMBIGUOUS_REMOTE_BRANCH_NAME] = { "checkoutAmbiguousRemoteBranchName" },
5353
[ADVICE_COMMIT_BEFORE_MERGE] = { "commitBeforeMerge" },
54-
#ifndef WITH_BREAKING_CHANGES
5554
[ADVICE_DEFAULT_BRANCH_NAME] = { "defaultBranchName" },
56-
#endif /* WITH_BREAKING_CHANGES */
5755
[ADVICE_DETACHED_HEAD] = { "detachedHead" },
5856
[ADVICE_DIVERGING] = { "diverging" },
5957
[ADVICE_FETCH_SET_HEAD_WARN] = { "fetchRemoteHEADWarn" },

advice.h

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,7 @@ enum advice_type {
1818
ADVICE_AM_WORK_DIR,
1919
ADVICE_CHECKOUT_AMBIGUOUS_REMOTE_BRANCH_NAME,
2020
ADVICE_COMMIT_BEFORE_MERGE,
21-
#ifndef WITH_BREAKING_CHANGES
22-
ADVICE_DEFAULT_BRANCH_NAME,
23-
#endif /* WITH_BREAKING_CHANGES */
21+
ADVICE_DEFAULT_BRANCH_NAME, /* To be retired sometime after Git 3.0 */
2422
ADVICE_DETACHED_HEAD,
2523
ADVICE_DIVERGING,
2624
ADVICE_FETCH_SET_HEAD_WARN,

refs.c

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -641,9 +641,17 @@ static const char default_branch_name_advice[] = N_(
641641
"\n"
642642
"\tgit branch -m <name>\n"
643643
);
644+
#else
645+
static const char default_branch_name_advice[] = N_(
646+
"Using '%s' as the name for the initial branch since Git 3.0.\n"
647+
"If you expected Git to create 'master', the just-created\n"
648+
"branch can be renamed via this command:\n"
649+
"\n"
650+
"\tgit branch -m master\n"
651+
);
644652
#endif /* WITH_BREAKING_CHANGES */
645653

646-
char *repo_default_branch_name(struct repository *r, MAYBE_UNUSED int quiet)
654+
char *repo_default_branch_name(struct repository *r, int quiet)
647655
{
648656
const char *config_key = "init.defaultbranch";
649657
const char *config_display_key = "init.defaultBranch";
@@ -660,10 +668,10 @@ char *repo_default_branch_name(struct repository *r, MAYBE_UNUSED int quiet)
660668
ret = xstrdup("main");
661669
#else
662670
ret = xstrdup("master");
671+
#endif /* WITH_BREAKING_CHANGES */
663672
if (!quiet)
664673
advise_if_enabled(ADVICE_DEFAULT_BRANCH_NAME,
665674
_(default_branch_name_advice), ret);
666-
#endif /* WITH_BREAKING_CHANGES */
667675
}
668676

669677
full_ref = xstrfmt("refs/heads/%s", ret);

t/t0001-init.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -868,7 +868,7 @@ test_expect_success 'overridden default initial branch name (config)' '
868868
grep nmb actual
869869
'
870870

871-
test_expect_success !WITH_BREAKING_CHANGES 'advice on unconfigured init.defaultBranch' '
871+
test_expect_success 'advice on unconfigured init.defaultBranch' '
872872
GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME= git -c color.advice=always \
873873
init unconfigured-default-branch-name 2>err &&
874874
test_decode_color <err >decoded &&

t/test-lib.sh

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -127,13 +127,17 @@ then
127127
export GIT_TEST_DISALLOW_ABBREVIATED_OPTIONS
128128
fi
129129

130+
# Explicitly set the default branch name for testing, to squelch hints
131+
# from "git init" during the transition period. Should be removed
132+
# after we decide to remove ADVICE_DEFAULT_BRANCH_NAME
130133
if test -z "$WITH_BREAKING_CHANGES"
131134
then
132-
# Explicitly set the default branch name for testing, to avoid the
133-
# transitory "git init" warning under --verbose.
134135
: ${GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME:=master}
135-
export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
136+
else
137+
: ${GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME:=main}
136138
fi
139+
export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
140+
137141

138142
################################################################
139143
# It appears that people try to run tests without building...

0 commit comments

Comments
 (0)