]> git.ipfire.org Git - thirdparty/git.git/commitdiff
advice: remove read uses of most global `advice_` variables
authorBen Boeckel <mathstuf@gmail.com>
Mon, 23 Aug 2021 10:44:00 +0000 (12:44 +0200)
committerJunio C Hamano <gitster@pobox.com>
Wed, 25 Aug 2021 19:07:52 +0000 (12:07 -0700)
In c4a09cc9ccb (Merge branch 'hw/advise-ng', 2020-03-25), a new API for
accessing advice variables was introduced and deprecated `advice_config`
in favor of a new array, `advice_setting`.

This patch ports all but two uses which read the status of the global
`advice_` variables over to the new `advice_enabled` API. We'll deal
with advice_add_embedded_repo and advice_graft_file_deprecated
separately.

Signed-off-by: Ben Boeckel <mathstuf@gmail.com>
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
22 files changed:
advice.c
advice.h
branch.c
builtin/add.c
builtin/am.c
builtin/checkout.c
builtin/clone.c
builtin/commit.c
builtin/fetch.c
builtin/merge.c
builtin/push.c
builtin/reset.c
builtin/rm.c
builtin/submodule--helper.c
editor.c
notes-merge.c
object-name.c
remote.c
run-command.c
sequencer.c
unpack-trees.c
wt-status.c

index 6da51be63c13d06cf60c8a5f340fe43d06a177b7..b18833bc807a50a05176e70c701bfadb068e25fe 100644 (file)
--- a/advice.c
+++ b/advice.c
@@ -4,36 +4,8 @@
 #include "help.h"
 #include "string-list.h"
 
-int advice_fetch_show_forced_updates = 1;
-int advice_push_update_rejected = 1;
-int advice_push_non_ff_current = 1;
-int advice_push_non_ff_matching = 1;
-int advice_push_already_exists = 1;
-int advice_push_fetch_first = 1;
-int advice_push_needs_force = 1;
-int advice_push_unqualified_ref_name = 1;
-int advice_push_ref_needs_update = 1;
-int advice_status_hints = 1;
-int advice_status_u_option = 1;
-int advice_status_ahead_behind_warning = 1;
-int advice_commit_before_merge = 1;
-int advice_reset_quiet_warning = 1;
-int advice_resolve_conflict = 1;
-int advice_sequencer_in_use = 1;
-int advice_implicit_identity = 1;
-int advice_detached_head = 1;
-int advice_set_upstream_failure = 1;
-int advice_object_name_warning = 1;
-int advice_amworkdir = 1;
-int advice_rm_hints = 1;
 int advice_add_embedded_repo = 1;
-int advice_ignored_hook = 1;
-int advice_waiting_for_editor = 1;
 int advice_graft_file_deprecated = 1;
-int advice_checkout_ambiguous_remote_branch_name = 1;
-int advice_submodule_alternate_error_strategy_die = 1;
-int advice_add_ignored_file = 1;
-int advice_add_empty_pathspec = 1;
 
 static int advice_use_color = -1;
 static char advice_colors[][COLOR_MAXLEN] = {
@@ -66,39 +38,8 @@ static struct {
        const char *name;
        int *preference;
 } advice_config[] = {
-       { "fetchShowForcedUpdates", &advice_fetch_show_forced_updates },
-       { "pushUpdateRejected", &advice_push_update_rejected },
-       { "pushNonFFCurrent", &advice_push_non_ff_current },
-       { "pushNonFFMatching", &advice_push_non_ff_matching },
-       { "pushAlreadyExists", &advice_push_already_exists },
-       { "pushFetchFirst", &advice_push_fetch_first },
-       { "pushNeedsForce", &advice_push_needs_force },
-       { "pushUnqualifiedRefName", &advice_push_unqualified_ref_name },
-       { "pushRefNeedsUpdate", &advice_push_ref_needs_update },
-       { "statusHints", &advice_status_hints },
-       { "statusUoption", &advice_status_u_option },
-       { "statusAheadBehindWarning", &advice_status_ahead_behind_warning },
-       { "commitBeforeMerge", &advice_commit_before_merge },
-       { "resetQuiet", &advice_reset_quiet_warning },
-       { "resolveConflict", &advice_resolve_conflict },
-       { "sequencerInUse", &advice_sequencer_in_use },
-       { "implicitIdentity", &advice_implicit_identity },
-       { "detachedHead", &advice_detached_head },
-       { "setUpstreamFailure", &advice_set_upstream_failure },
-       { "objectNameWarning", &advice_object_name_warning },
-       { "amWorkDir", &advice_amworkdir },
-       { "rmHints", &advice_rm_hints },
        { "addEmbeddedRepo", &advice_add_embedded_repo },
-       { "ignoredHook", &advice_ignored_hook },
-       { "waitingForEditor", &advice_waiting_for_editor },
        { "graftFileDeprecated", &advice_graft_file_deprecated },
-       { "checkoutAmbiguousRemoteBranchName", &advice_checkout_ambiguous_remote_branch_name },
-       { "submoduleAlternateErrorStrategyDie", &advice_submodule_alternate_error_strategy_die },
-       { "addIgnoredFile", &advice_add_ignored_file },
-       { "addEmptyPathspec", &advice_add_empty_pathspec },
-
-       /* make this an alias for backward compatibility */
-       { "pushNonFastForward", &advice_push_update_rejected }
 };
 
 static struct {
@@ -264,7 +205,7 @@ int error_resolve_conflict(const char *me)
                error(_("It is not possible to %s because you have unmerged files."),
                        me);
 
-       if (advice_resolve_conflict)
+       if (advice_enabled(ADVICE_RESOLVE_CONFLICT))
                /*
                 * Message used both when 'git commit' fails and when
                 * other commands doing a merge do.
@@ -283,7 +224,7 @@ void NORETURN die_resolve_conflict(const char *me)
 void NORETURN die_conclude_merge(void)
 {
        error(_("You have not concluded your merge (MERGE_HEAD exists)."));
-       if (advice_resolve_conflict)
+       if (advice_enabled(ADVICE_RESOLVE_CONFLICT))
                advise(_("Please, commit your changes before merging."));
        die(_("Exiting because of unfinished merge."));
 }
index 68629b5ba1ddf1c0f41689095506b39384b4f400..ed51db0f05770ebf678adbd29f73ab7fc2f83a6a 100644 (file)
--- a/advice.h
+++ b/advice.h
@@ -5,36 +5,8 @@
 
 struct string_list;
 
-extern int advice_fetch_show_forced_updates;
-extern int advice_push_update_rejected;
-extern int advice_push_non_ff_current;
-extern int advice_push_non_ff_matching;
-extern int advice_push_already_exists;
-extern int advice_push_fetch_first;
-extern int advice_push_needs_force;
-extern int advice_push_unqualified_ref_name;
-extern int advice_push_ref_needs_update;
-extern int advice_status_hints;
-extern int advice_status_u_option;
-extern int advice_status_ahead_behind_warning;
-extern int advice_commit_before_merge;
-extern int advice_reset_quiet_warning;
-extern int advice_resolve_conflict;
-extern int advice_sequencer_in_use;
-extern int advice_implicit_identity;
-extern int advice_detached_head;
-extern int advice_set_upstream_failure;
-extern int advice_object_name_warning;
-extern int advice_amworkdir;
-extern int advice_rm_hints;
 extern int advice_add_embedded_repo;
-extern int advice_ignored_hook;
-extern int advice_waiting_for_editor;
 extern int advice_graft_file_deprecated;
-extern int advice_checkout_ambiguous_remote_branch_name;
-extern int advice_submodule_alternate_error_strategy_die;
-extern int advice_add_ignored_file;
-extern int advice_add_empty_pathspec;
 
 /*
  * To add a new advice, you need to:
index 7a88a4861e7eb41e5415f141d4d143170c8ca5e0..07a46430b3846f0fa4595f9ea0f98c2523e8d5f1 100644 (file)
--- a/branch.c
+++ b/branch.c
@@ -271,7 +271,7 @@ void create_branch(struct repository *r,
        real_ref = NULL;
        if (get_oid_mb(start_name, &oid)) {
                if (explicit_tracking) {
-                       if (advice_set_upstream_failure) {
+                       if (advice_enabled(ADVICE_SET_UPSTREAM_FAILURE)) {
                                error(_(upstream_missing), start_name);
                                advise(_(upstream_advice));
                                exit(1);
index 09e684585d9ff25e708434000e09f807b1d30a45..cf29b302d444f3785781e816d2690cdc68c6852e 100644 (file)
@@ -447,7 +447,7 @@ static int add_files(struct dir_struct *dir, int flags)
                fprintf(stderr, _(ignore_error));
                for (i = 0; i < dir->ignored_nr; i++)
                        fprintf(stderr, "%s\n", dir->ignored[i]->name);
-               if (advice_add_ignored_file)
+               if (advice_enabled(ADVICE_ADD_IGNORED_FILE))
                        advise(_("Use -f if you really want to add them.\n"
                                "Turn this message off by running\n"
                                "\"git config advice.addIgnoredFile false\""));
@@ -553,7 +553,7 @@ int cmd_add(int argc, const char **argv, const char *prefix)
 
        if (require_pathspec && pathspec.nr == 0) {
                fprintf(stderr, _("Nothing specified, nothing added.\n"));
-               if (advice_add_empty_pathspec)
+               if (advice_enabled(ADVICE_ADD_EMPTY_PATHSPEC))
                        advise( _("Maybe you wanted to say 'git add .'?\n"
                                "Turn this message off by running\n"
                                "\"git config advice.addEmptyPathspec false\""));
index 0c2ad96b70eef408492987a8b358887cc56dcb9c..ff7dd33fcd46f1a0e32e0ea934124eb73ff4430f 100644 (file)
@@ -1820,7 +1820,7 @@ static void am_run(struct am_state *state, int resume)
                        printf_ln(_("Patch failed at %s %.*s"), msgnum(state),
                                linelen(state->msg), state->msg);
 
-                       if (advice_amworkdir)
+                       if (advice_enabled(ADVICE_AM_WORK_DIR))
                                advise(_("Use 'git am --show-current-patch=diff' to see the failed patch"));
 
                        die_user_resolve(state);
index b5d477919a743885ab536608e86d28662ac3b615..1c6307d456b82e1aa73c2fcd4932e6d3e104700c 100644 (file)
@@ -918,7 +918,7 @@ static void update_refs_for_switch(const struct checkout_opts *opts,
                           REF_NO_DEREF, UPDATE_REFS_DIE_ON_ERR);
                if (!opts->quiet) {
                        if (old_branch_info->path &&
-                           advice_detached_head && !opts->force_detach)
+                           advice_enabled(ADVICE_DETACHED_HEAD) && !opts->force_detach)
                                detach_advice(new_branch_info->name);
                        describe_detached_head(_("HEAD is now at"), new_branch_info->commit);
                }
@@ -1011,7 +1011,7 @@ static void suggest_reattach(struct commit *commit, struct rev_info *revs)
                sb.buf);
        strbuf_release(&sb);
 
-       if (advice_detached_head)
+       if (advice_enabled(ADVICE_DETACHED_HEAD))
                fprintf(stderr,
                        Q_(
                        /* The singular version */
@@ -1182,7 +1182,7 @@ static const char *parse_remote_branch(const char *arg,
        }
 
        if (!remote && num_matches > 1) {
-           if (advice_checkout_ambiguous_remote_branch_name) {
+           if (advice_enabled(ADVICE_CHECKOUT_AMBIGUOUS_REMOTE_BRANCH_NAME)) {
                    advise(_("If you meant to check out a remote tracking branch on, e.g. 'origin',\n"
                             "you can do so by fully qualifying the name with the --track option:\n"
                             "\n"
index 66fe66679c8498f8b2ef2729059b153f24ad8f6a..c1603aa82ba6d57b5ca0f20307b8ccbcde1f8b1d 100644 (file)
@@ -786,7 +786,7 @@ static int checkout(int submodule_progress)
                return 0;
        }
        if (!strcmp(head, "HEAD")) {
-               if (advice_detached_head)
+               if (advice_enabled(ADVICE_DETACHED_HEAD))
                        detach_advice(oid_to_hex(&oid));
                FREE_AND_NULL(head);
        } else {
index 243c626307c644050806d465b6933177b3171ac2..df8bcc27ae968018b59ffdabe4080089327b10c7 100644 (file)
@@ -203,7 +203,7 @@ static void status_init_config(struct wt_status *s, config_fn_t fn)
        init_diff_ui_defaults();
        git_config(fn, s);
        determine_whence(s);
-       s->hints = advice_status_hints; /* must come after git_config() */
+       s->hints = advice_enabled(ADVICE_STATUS_HINTS); /* must come after git_config() */
 }
 
 static void rollback_index_files(void)
@@ -1033,7 +1033,7 @@ static int prepare_to_commit(const char *index_file, const char *prefix,
         */
        if (!committable && whence != FROM_MERGE && !allow_empty &&
            !(amend && is_a_merge(current_head))) {
-               s->hints = advice_status_hints;
+               s->hints = advice_enabled(ADVICE_STATUS_HINTS);
                s->display_comment_prefix = old_display_comment_prefix;
                run_status(stdout, index_file, prefix, 0, s);
                if (amend)
index 25740c13df1bf8d569e341fe717ff322af25207c..2501e1d10d95a3cde200ada2ccec0ddd11543783 100644 (file)
@@ -1229,7 +1229,7 @@ static int store_updated_refs(const char *raw_url, const char *remote_name,
                      " 'git remote prune %s' to remove any old, conflicting "
                      "branches"), remote_name);
 
-       if (advice_fetch_show_forced_updates) {
+       if (advice_enabled(ADVICE_FETCH_SHOW_FORCED_UPDATES)) {
                if (!fetch_show_forced_updates) {
                        warning(_(warn_show_forced_updates));
                } else if (forced_updates_ms > FORCED_UPDATES_DELAY_WARNING_IN_MS) {
index 22f23990b37b6af8756daa5bcf7a1a7bbef2049c..1b3d98d5fd45ac63207e21c14dae8f61688e3e30 100644 (file)
@@ -1368,14 +1368,14 @@ int cmd_merge(int argc, const char **argv, const char *prefix)
                 * There is no unmerged entry, don't advise 'git
                 * add/rm <file>', just 'git commit'.
                 */
-               if (advice_resolve_conflict)
+               if (advice_enabled(ADVICE_RESOLVE_CONFLICT))
                        die(_("You have not concluded your merge (MERGE_HEAD exists).\n"
                                  "Please, commit your changes before you merge."));
                else
                        die(_("You have not concluded your merge (MERGE_HEAD exists)."));
        }
        if (ref_exists("CHERRY_PICK_HEAD")) {
-               if (advice_resolve_conflict)
+               if (advice_enabled(ADVICE_RESOLVE_CONFLICT))
                        die(_("You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
                            "Please, commit your changes before you merge."));
                else
index e8b10a9b7eda996f3ade72eebeb53cbecc11ed60..4b026ce6c6a90aea7bf50e8f193a6420471c2df3 100644 (file)
@@ -289,42 +289,42 @@ static const char message_advice_ref_needs_update[] =
 
 static void advise_pull_before_push(void)
 {
-       if (!advice_push_non_ff_current || !advice_push_update_rejected)
+       if (!advice_enabled(ADVICE_PUSH_NON_FF_CURRENT) || !advice_enabled(ADVICE_PUSH_UPDATE_REJECTED))
                return;
        advise(_(message_advice_pull_before_push));
 }
 
 static void advise_checkout_pull_push(void)
 {
-       if (!advice_push_non_ff_matching || !advice_push_update_rejected)
+       if (!advice_enabled(ADVICE_PUSH_NON_FF_MATCHING) || !advice_enabled(ADVICE_PUSH_UPDATE_REJECTED))
                return;
        advise(_(message_advice_checkout_pull_push));
 }
 
 static void advise_ref_already_exists(void)
 {
-       if (!advice_push_already_exists || !advice_push_update_rejected)
+       if (!advice_enabled(ADVICE_PUSH_ALREADY_EXISTS) || !advice_enabled(ADVICE_PUSH_UPDATE_REJECTED))
                return;
        advise(_(message_advice_ref_already_exists));
 }
 
 static void advise_ref_fetch_first(void)
 {
-       if (!advice_push_fetch_first || !advice_push_update_rejected)
+       if (!advice_enabled(ADVICE_PUSH_FETCH_FIRST) || !advice_enabled(ADVICE_PUSH_UPDATE_REJECTED))
                return;
        advise(_(message_advice_ref_fetch_first));
 }
 
 static void advise_ref_needs_force(void)
 {
-       if (!advice_push_needs_force || !advice_push_update_rejected)
+       if (!advice_enabled(ADVICE_PUSH_NEEDS_FORCE) || !advice_enabled(ADVICE_PUSH_UPDATE_REJECTED))
                return;
        advise(_(message_advice_ref_needs_force));
 }
 
 static void advise_ref_needs_update(void)
 {
-       if (!advice_push_ref_needs_update || !advice_push_update_rejected)
+       if (!advice_enabled(ADVICE_PUSH_REF_NEEDS_UPDATE) || !advice_enabled(ADVICE_PUSH_UPDATE_REJECTED))
                return;
        advise(_(message_advice_ref_needs_update));
 }
index 43e855cb887650b87390e6f5e96294b4c967d2af..51c9e2f43ff73734ab61b12fa3ef428485dfe003 100644 (file)
@@ -412,7 +412,7 @@ int cmd_reset(int argc, const char **argv, const char *prefix)
                                refresh_index(&the_index, flags, NULL, NULL,
                                              _("Unstaged changes after reset:"));
                                t_delta_in_ms = (getnanotime() - t_begin) / 1000000;
-                               if (advice_reset_quiet_warning && t_delta_in_ms > REFRESH_INDEX_DELAY_WARNING_IN_MS) {
+                               if (advice_enabled(ADVICE_RESET_QUIET_WARNING) && t_delta_in_ms > REFRESH_INDEX_DELAY_WARNING_IN_MS) {
                                        printf(_("\nIt took %.2f seconds to enumerate unstaged changes after reset.  You can\n"
                                                "use '--quiet' to avoid this.  Set the config setting reset.quiet to true\n"
                                                "to make this the default.\n"), t_delta_in_ms / 1000.0);
index 8a24c715e02bab24098af5f3e354c631ee9abf3c..3b44b807e5fd804a7fec1b27a8ac40291de53fbf 100644 (file)
@@ -55,7 +55,7 @@ static void print_error_files(struct string_list *files_list,
                        strbuf_addf(&err_msg,
                                    "\n    %s",
                                    files_list->items[i].string);
-               if (advice_rm_hints)
+               if (advice_enabled(ADVICE_RM_HINTS))
                        strbuf_addstr(&err_msg, hints_msg);
                *errs = error("%s", err_msg.buf);
                strbuf_release(&err_msg);
index ef2776a9e4523894c6ff044bffcd9a2c60d2b98f..4da9781b991286614bd7070b5fa76221513e8f44 100644 (file)
@@ -1724,7 +1724,7 @@ static int add_possible_reference_from_superproject(
                } else {
                        switch (sas->error_mode) {
                        case SUBMODULE_ALTERNATE_ERROR_DIE:
-                               if (advice_submodule_alternate_error_strategy_die)
+                               if (advice_enabled(ADVICE_SUBMODULE_ALTERNATE_ERROR_STRATEGY_DIE))
                                        advise(_(alternate_error_advice));
                                die(_("submodule '%s' cannot add alternate: %s"),
                                    sas->submodule_name, err.buf);
index 6303ae0ab0d52b7b54a00bd9bf687a91aac998fd..fdd3eeafa94791791aefc976988f4cd0b5a5f58f 100644 (file)
--- a/editor.c
+++ b/editor.c
@@ -58,7 +58,7 @@ static int launch_specified_editor(const char *editor, const char *path,
                const char *args[] = { editor, NULL, NULL };
                struct child_process p = CHILD_PROCESS_INIT;
                int ret, sig;
-               int print_waiting_for_editor = advice_waiting_for_editor && isatty(2);
+               int print_waiting_for_editor = advice_enabled(ADVICE_WAITING_FOR_EDITOR) && isatty(2);
 
                if (print_waiting_for_editor) {
                        /*
index 46c1f7c7f11fe221707784be59118b3540839d98..b4a3a903e86f3fdc38064e5f16c63974d2a191e4 100644 (file)
@@ -273,7 +273,7 @@ static void check_notes_merge_worktree(struct notes_merge_options *o)
                 */
                if (file_exists(git_path(NOTES_MERGE_WORKTREE)) &&
                    !is_empty_dir(git_path(NOTES_MERGE_WORKTREE))) {
-                       if (advice_resolve_conflict)
+                       if (advice_enabled(ADVICE_RESOLVE_CONFLICT))
                                die(_("You have not concluded your previous "
                                    "notes merge (%s exists).\nPlease, use "
                                    "'git notes merge --commit' or 'git notes "
index 3263c19457fa3ff89d95536a18a7b03f2d9beb2a..fdff4601b2c70cc7e4585096534382ddc5024990 100644 (file)
@@ -806,7 +806,7 @@ static int get_oid_basic(struct repository *r, const char *str, int len,
                        refs_found = repo_dwim_ref(r, str, len, &tmp_oid, &real_ref, 0);
                        if (refs_found > 0) {
                                warning(warn_msg, len, str);
-                               if (advice_object_name_warning)
+                               if (advice_enabled(ADVICE_OBJECT_NAME_WARNING))
                                        fprintf(stderr, "%s\n", _(object_name_msg));
                        }
                        free(real_ref);
index dfb863d80835254ce363f22160606e0aa85c21e8..4ef53a6e30b064508ad8406ad5fdcecfe137dfaa 100644 (file)
--- a/remote.c
+++ b/remote.c
@@ -1111,7 +1111,7 @@ static void show_push_unqualified_ref_name_error(const char *dst_value,
                "Neither worked, so we gave up. You must fully qualify the ref."),
              dst_value, matched_src_name);
 
-       if (!advice_push_unqualified_ref_name)
+       if (!advice_enabled(ADVICE_PUSH_UNQUALIFIED_REF_NAME))
                return;
 
        if (get_oid(matched_src_name, &oid))
@@ -2118,7 +2118,7 @@ int format_tracking_info(struct branch *branch, struct strbuf *sb,
                strbuf_addf(sb,
                        _("Your branch is based on '%s', but the upstream is gone.\n"),
                        base);
-               if (advice_status_hints)
+               if (advice_enabled(ADVICE_STATUS_HINTS))
                        strbuf_addstr(sb,
                                _("  (use \"git branch --unset-upstream\" to fixup)\n"));
        } else if (!sti) {
@@ -2129,7 +2129,7 @@ int format_tracking_info(struct branch *branch, struct strbuf *sb,
                strbuf_addf(sb,
                            _("Your branch and '%s' refer to different commits.\n"),
                            base);
-               if (advice_status_hints)
+               if (advice_enabled(ADVICE_STATUS_HINTS))
                        strbuf_addf(sb, _("  (use \"%s\" for details)\n"),
                                    "git status --ahead-behind");
        } else if (!theirs) {
@@ -2138,7 +2138,7 @@ int format_tracking_info(struct branch *branch, struct strbuf *sb,
                           "Your branch is ahead of '%s' by %d commits.\n",
                           ours),
                        base, ours);
-               if (advice_status_hints)
+               if (advice_enabled(ADVICE_STATUS_HINTS))
                        strbuf_addstr(sb,
                                _("  (use \"git push\" to publish your local commits)\n"));
        } else if (!ours) {
@@ -2149,7 +2149,7 @@ int format_tracking_info(struct branch *branch, struct strbuf *sb,
                               "and can be fast-forwarded.\n",
                           theirs),
                        base, theirs);
-               if (advice_status_hints)
+               if (advice_enabled(ADVICE_STATUS_HINTS))
                        strbuf_addstr(sb,
                                _("  (use \"git pull\" to update your local branch)\n"));
        } else {
@@ -2162,7 +2162,7 @@ int format_tracking_info(struct branch *branch, struct strbuf *sb,
                               "respectively.\n",
                           ours + theirs),
                        base, ours, theirs);
-               if (advice_status_hints)
+               if (advice_enabled(ADVICE_STATUS_HINTS))
                        strbuf_addstr(sb,
                                _("  (use \"git pull\" to merge the remote branch into yours)\n"));
        }
index f72e72cce73f1a1decbdd99b098f050f37bea41f..28e3eb573284cd07415192c1ed3d016ba4490478 100644 (file)
@@ -1336,7 +1336,7 @@ const char *find_hook(const char *name)
                        err = errno;
 #endif
 
-               if (err == EACCES && advice_ignored_hook) {
+               if (err == EACCES && advice_enabled(ADVICE_IGNORED_HOOK)) {
                        static struct string_list advise_given = STRING_LIST_INIT_DUP;
 
                        if (!string_list_lookup(&advise_given, name)) {
index 7f07cd00f3f20ab3dc0c508653ac28bdd8e8b8c1..ab63eede45b5cde74a3fbeb7cb7cbb7d2c911341 100644 (file)
@@ -486,7 +486,7 @@ static int error_dirty_index(struct repository *repo, struct replay_opts *opts)
        error(_("your local changes would be overwritten by %s."),
                _(action_name(opts)));
 
-       if (advice_commit_before_merge)
+       if (advice_enabled(ADVICE_COMMIT_BEFORE_MERGE))
                advise(_("commit your changes or stash them to proceed."));
        return -1;
 }
@@ -1293,7 +1293,7 @@ void print_commit_summary(struct repository *r,
        if (!committer_ident_sufficiently_given()) {
                strbuf_addstr(&format, "\n Committer: ");
                strbuf_addbuf_percentquote(&format, &committer_ident);
-               if (advice_implicit_identity) {
+               if (advice_enabled(ADVICE_IMPLICIT_IDENTITY)) {
                        strbuf_addch(&format, '\n');
                        strbuf_addstr(&format, implicit_ident_advice());
                }
@@ -3041,7 +3041,7 @@ static int create_seq_dir(struct repository *r)
        }
        if (in_progress_error) {
                error("%s", in_progress_error);
-               if (advice_sequencer_in_use)
+               if (advice_enabled(ADVICE_SEQUENCER_IN_USE))
                        advise(in_progress_advice,
                                advise_skip ? "--skip | " : "");
                return -1;
@@ -3245,7 +3245,7 @@ int sequencer_skip(struct repository *r, struct replay_opts *opts)
 give_advice:
        error(_("there is nothing to skip"));
 
-       if (advice_resolve_conflict) {
+       if (advice_enabled(ADVICE_RESOLVE_CONFLICT)) {
                advise(_("have you committed already?\n"
                         "try \"git %s --continue\""),
                         action == REPLAY_REVERT ? "revert" : "cherry-pick");
index 5786645f315d51be62badb5faa8cb5b8d26f70d2..d9907faf7b65310602d29d11d94a91cbd89f064e 100644 (file)
@@ -111,17 +111,17 @@ void setup_unpack_trees_porcelain(struct unpack_trees_options *opts,
        strvec_init(&opts->msgs_to_free);
 
        if (!strcmp(cmd, "checkout"))
-               msg = advice_commit_before_merge
+               msg = advice_enabled(ADVICE_COMMIT_BEFORE_MERGE)
                      ? _("Your local changes to the following files would be overwritten by checkout:\n%%s"
                          "Please commit your changes or stash them before you switch branches.")
                      : _("Your local changes to the following files would be overwritten by checkout:\n%%s");
        else if (!strcmp(cmd, "merge"))
-               msg = advice_commit_before_merge
+               msg = advice_enabled(ADVICE_COMMIT_BEFORE_MERGE)
                      ? _("Your local changes to the following files would be overwritten by merge:\n%%s"
                          "Please commit your changes or stash them before you merge.")
                      : _("Your local changes to the following files would be overwritten by merge:\n%%s");
        else
-               msg = advice_commit_before_merge
+               msg = advice_enabled(ADVICE_COMMIT_BEFORE_MERGE)
                      ? _("Your local changes to the following files would be overwritten by %s:\n%%s"
                          "Please commit your changes or stash them before you %s.")
                      : _("Your local changes to the following files would be overwritten by %s:\n%%s");
@@ -132,17 +132,17 @@ void setup_unpack_trees_porcelain(struct unpack_trees_options *opts,
                _("Updating the following directories would lose untracked files in them:\n%s");
 
        if (!strcmp(cmd, "checkout"))
-               msg = advice_commit_before_merge
+               msg = advice_enabled(ADVICE_COMMIT_BEFORE_MERGE)
                      ? _("The following untracked working tree files would be removed by checkout:\n%%s"
                          "Please move or remove them before you switch branches.")
                      : _("The following untracked working tree files would be removed by checkout:\n%%s");
        else if (!strcmp(cmd, "merge"))
-               msg = advice_commit_before_merge
+               msg = advice_enabled(ADVICE_COMMIT_BEFORE_MERGE)
                      ? _("The following untracked working tree files would be removed by merge:\n%%s"
                          "Please move or remove them before you merge.")
                      : _("The following untracked working tree files would be removed by merge:\n%%s");
        else
-               msg = advice_commit_before_merge
+               msg = advice_enabled(ADVICE_COMMIT_BEFORE_MERGE)
                      ? _("The following untracked working tree files would be removed by %s:\n%%s"
                          "Please move or remove them before you %s.")
                      : _("The following untracked working tree files would be removed by %s:\n%%s");
@@ -150,17 +150,17 @@ void setup_unpack_trees_porcelain(struct unpack_trees_options *opts,
                strvec_pushf(&opts->msgs_to_free, msg, cmd, cmd);
 
        if (!strcmp(cmd, "checkout"))
-               msg = advice_commit_before_merge
+               msg = advice_enabled(ADVICE_COMMIT_BEFORE_MERGE)
                      ? _("The following untracked working tree files would be overwritten by checkout:\n%%s"
                          "Please move or remove them before you switch branches.")
                      : _("The following untracked working tree files would be overwritten by checkout:\n%%s");
        else if (!strcmp(cmd, "merge"))
-               msg = advice_commit_before_merge
+               msg = advice_enabled(ADVICE_COMMIT_BEFORE_MERGE)
                      ? _("The following untracked working tree files would be overwritten by merge:\n%%s"
                          "Please move or remove them before you merge.")
                      : _("The following untracked working tree files would be overwritten by merge:\n%%s");
        else
-               msg = advice_commit_before_merge
+               msg = advice_enabled(ADVICE_COMMIT_BEFORE_MERGE)
                      ? _("The following untracked working tree files would be overwritten by %s:\n%%s"
                          "Please move or remove them before you %s.")
                      : _("The following untracked working tree files would be overwritten by %s:\n%%s");
index eaed30eafba8005994894fac2e4046ee00987486..e4f29b2b4c9f7493076ee904f4c5e2b476841d6c 100644 (file)
@@ -787,7 +787,7 @@ static void wt_status_collect_untracked(struct wt_status *s)
 
        dir_clear(&dir);
 
-       if (advice_status_u_option)
+       if (advice_enabled(ADVICE_STATUS_U_OPTION))
                s->untracked_in_ms = (getnanotime() - t_begin) / 1000000;
 }
 
@@ -1158,7 +1158,7 @@ static void wt_longstatus_print_tracking(struct wt_status *s)
        if (!format_tracking_info(branch, &sb, s->ahead_behind_flags))
                return;
 
-       if (advice_status_ahead_behind_warning &&
+       if (advice_enabled(ADVICE_STATUS_AHEAD_BEHIND_WARNING) &&
            s->ahead_behind_flags == AHEAD_BEHIND_FULL) {
                uint64_t t_delta_in_ms = (getnanotime() - t_begin) / 1000000;
                if (t_delta_in_ms > AB_DELAY_WARNING_IN_MS) {
@@ -1845,7 +1845,7 @@ static void wt_longstatus_print(struct wt_status *s)
                wt_longstatus_print_other(s, &s->untracked, _("Untracked files"), "add");
                if (s->show_ignored_mode)
                        wt_longstatus_print_other(s, &s->ignored, _("Ignored files"), "add -f");
-               if (advice_status_u_option && 2000 < s->untracked_in_ms) {
+               if (advice_enabled(ADVICE_STATUS_U_OPTION) && 2000 < s->untracked_in_ms) {
                        status_printf_ln(s, GIT_COLOR_NORMAL, "%s", "");
                        status_printf_ln(s, GIT_COLOR_NORMAL,
                                         _("It took %.2f seconds to enumerate untracked files. 'status -uno'\n"