]> git.ipfire.org Git - thirdparty/git.git/commitdiff
advice: move advice.graftFileDeprecated squashing to commit.[ch]
authorÆvar Arnfjörð Bjarmason <avarab@gmail.com>
Mon, 23 Aug 2021 10:44:02 +0000 (12:44 +0200)
committerJunio C Hamano <gitster@pobox.com>
Wed, 25 Aug 2021 19:07:52 +0000 (12:07 -0700)
Move the squashing of the advice.graftFileDeprecated advice over to an
external variable in commit.[ch], allowing advice() to purely use the
new-style API of invoking advice() with an enum.

See 8821e90a09a (advice: don't pointlessly suggest
--convert-graft-file, 2018-11-27) for why quieting this advice was
needed. It's more straightforward to move this code to commit.[ch] and
use it builtin/replace.c, than to go through the indirection of
advice.[ch].

Because this was the last advice_config variable we can remove that
old facility from advice.c.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
advice.c
advice.h
builtin/replace.c
commit.c
commit.h

index 41cfea82d064969521998219f6a26ea0ede7a863..e716ddebffe7be93cf8fc06ef733c9dd1f91b89f 100644 (file)
--- a/advice.c
+++ b/advice.c
@@ -4,8 +4,6 @@
 #include "help.h"
 #include "string-list.h"
 
-int advice_graft_file_deprecated = 1;
-
 static int advice_use_color = -1;
 static char advice_colors[][COLOR_MAXLEN] = {
        GIT_COLOR_RESET,
@@ -33,13 +31,6 @@ static const char *advise_get_color(enum color_advice ix)
        return "";
 }
 
-static struct {
-       const char *name;
-       int *preference;
-} advice_config[] = {
-       { "graftFileDeprecated", &advice_graft_file_deprecated },
-};
-
 static struct {
        const char *key;
        int enabled;
@@ -162,13 +153,6 @@ int git_default_advice_config(const char *var, const char *value)
        if (!skip_prefix(var, "advice.", &k))
                return 0;
 
-       for (i = 0; i < ARRAY_SIZE(advice_config); i++) {
-               if (strcasecmp(k, advice_config[i].name))
-                       continue;
-               *advice_config[i].preference = git_config_bool(var, value);
-               break;
-       }
-
        for (i = 0; i < ARRAY_SIZE(advice_setting); i++) {
                if (strcasecmp(k, advice_setting[i].key))
                        continue;
index 4b754f4c626cdb45a7fbb4ef606402a8781d6347..e380a0562e3ac595df6ece4221a5e3145884ec4b 100644 (file)
--- a/advice.h
+++ b/advice.h
@@ -5,8 +5,6 @@
 
 struct string_list;
 
-extern int advice_graft_file_deprecated;
-
 /*
  * To add a new advice, you need to:
  * Define a new advice_type.
index cd48765911746420766736eaa3be7160cc790ce2..946938d011ee8ea69040b931c98acd270bbcd46d 100644 (file)
@@ -507,7 +507,7 @@ static int convert_graft_file(int force)
        if (!fp)
                return -1;
 
-       advice_graft_file_deprecated = 0;
+       no_graft_file_deprecated_advice = 1;
        while (strbuf_getline(&buf, fp) != EOF) {
                if (*buf.buf == '#')
                        continue;
index 143f472c0f24bfeece3209a4c8bf70be9494b557..551de4903c1f4f5d21a4e30bc012109c593054c8 100644 (file)
--- a/commit.c
+++ b/commit.c
@@ -25,6 +25,7 @@
 static struct commit_extra_header *read_commit_extra_header_lines(const char *buf, size_t len, const char **);
 
 int save_commit_buffer = 1;
+int no_graft_file_deprecated_advice;
 
 const char *commit_type = "commit";
 
@@ -190,7 +191,8 @@ static int read_graft_file(struct repository *r, const char *graft_file)
        struct strbuf buf = STRBUF_INIT;
        if (!fp)
                return -1;
-       if (advice_graft_file_deprecated)
+       if (!no_graft_file_deprecated_advice &&
+           advice_enabled(ADVICE_GRAFT_FILE_DEPRECATED))
                advise(_("Support for <GIT_DIR>/info/grafts is deprecated\n"
                         "and will be removed in a future Git version.\n"
                         "\n"
index df42eb434f314bd9cf89e920efdb0fc29a86c4c5..3ea32766bcb00ada1c55f948ab6cc503b04c72a7 100644 (file)
--- a/commit.h
+++ b/commit.h
@@ -41,6 +41,7 @@ struct commit {
 };
 
 extern int save_commit_buffer;
+extern int no_graft_file_deprecated_advice;
 extern const char *commit_type;
 
 /* While we can decorate any object with a name, it's only used for commits.. */