{"thread":{"id":"66295","subject":"[PATCH v2] advice: use global config for default branch name","startedAt":"2026-09-08T17:25:05Z","lastAt":"2026-09-08T17:25:05Z","messageCount":1,"participants":["Vsevolod Myalitsin"],"isPatch":true,"patchVersion":2,"patchTotal":null},"messages":[{"id":"552235","messageId":"20260908211445.37516-1-ub4nal@mail.ru","threadId":"66295","inReplyTo":null,"subject":"[PATCH v2] advice: use global config for default branch name","fromName":"Vsevolod Myalitsin","fromEmail":"ub4nal@mail.ru","sentAt":"2026-09-08T21:14:44Z","receivedAt":"2026-09-08T17:25:05Z","isPatch":true,"body":"The advice for configuring the default branch name\nsuggests disabling it with \"git config set\nadvice.defaultBranchName false\". This setting is\nuseless because it neither affects the current\nrepository nor newly created repositories.\n\nSuggest using \"git config set --global\" instead.\n\nTo implement this, add a \"global_hint\" field to the\nadvice_setting struct and explicitly set it to true\nfor defaultBranchName to indicate that the advice\nshould recommend a global configuration. This field\ncan also be used for other advice settings if needed.\n\nSigned-off-by: Vsevolod Myalitsin <ub4nal@mail.ru>\n---\n advice.c | 14 ++++++++------\n 1 file changed, 8 insertions(+), 6 deletions(-)\n\ndiff --git a/advice.c b/advice.c\nindex 63bf8b0c5f..c3955eeebe 100644\n--- a/advice.c\n+++ b/advice.c\n@@ -42,6 +42,7 @@ enum advice_level {\n \n static struct {\n \tconst char *key;\n+\tbool global_hint;\n \tenum advice_level level;\n } advice_setting[] = {\n \t[ADVICE_ADD_EMBEDDED_REPO]\t\t\t= { \"addEmbeddedRepo\" },\n@@ -51,7 +52,7 @@ static struct {\n \t[ADVICE_AM_WORK_DIR] \t\t\t\t= { \"amWorkDir\" },\n \t[ADVICE_CHECKOUT_AMBIGUOUS_REMOTE_BRANCH_NAME] \t= { \"checkoutAmbiguousRemoteBranchName\" },\n \t[ADVICE_COMMIT_BEFORE_MERGE]\t\t\t= { \"commitBeforeMerge\" },\n-\t[ADVICE_DEFAULT_BRANCH_NAME]\t\t\t= { \"defaultBranchName\" },\n+\t[ADVICE_DEFAULT_BRANCH_NAME]\t\t\t= { \"defaultBranchName\", true },\n \t[ADVICE_DETACHED_HEAD]\t\t\t\t= { \"detachedHead\" },\n \t[ADVICE_DIVERGING]\t\t\t\t= { \"diverging\" },\n \t[ADVICE_FETCH_SET_HEAD_WARN]\t\t\t= { \"fetchRemoteHEADWarn\" },\n@@ -96,10 +97,10 @@ static struct {\n \n static const char turn_off_instructions[] =\n N_(\"\\n\"\n-   \"Disable this message with \\\"git config set advice.%s false\\\"\");\n+   \"Disable this message with \\\"git config set%s advice.%s false\\\"\");\n \n static void vadvise(const char *advice, int display_instructions,\n-\t\t    const char *key, va_list params)\n+\t\t    const char *key, bool global_hint, va_list params)\n {\n \tstruct strbuf buf = STRBUF_INIT;\n \tconst char *cp, *np;\n@@ -107,7 +108,8 @@ static void vadvise(const char *advice, int display_instructions,\n \tstrbuf_vaddf(&buf, advice, params);\n \n \tif (display_instructions)\n-\t\tstrbuf_addf(&buf, turn_off_instructions, key);\n+\t\tstrbuf_addf(&buf, turn_off_instructions, global_hint ?\n+\t\t\t\" --global\" : \"\", key);\n \n \tfor (cp = buf.buf; *cp; cp = np) {\n \t\tnp = strchrnul(cp, '\\n');\n@@ -126,7 +128,7 @@ void advise(const char *advice, ...)\n {\n \tva_list params;\n \tva_start(params, advice);\n-\tvadvise(advice, 0, \"\", params);\n+\tvadvise(advice, 0, \"\", false, params);\n \tva_end(params);\n }\n \n@@ -156,7 +158,7 @@ void advise_if_enabled(enum advice_type type, const char *advice, ...)\n \n \tva_start(params, advice);\n \tvadvise(advice, !advice_setting[type].level, advice_setting[type].key,\n-\t\tparams);\n+\t\tadvice_setting[type].global_hint, params);\n \tva_end(params);\n }\n \n-- \n2.50.1\n\n"}]}