Re: [PATCH v1 4/4] advice: remove static global variables for advice tracking
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Aug 2, 2021, 22:09 UTC
- Message-ID
- <nycvar.QRO.7.76.6.2108030007060.55@tvgsbejvaqbjf.bet>
- In-Reply-To
- <20210731022504.1912702-5-mathstuf@gmail.com>
Hi Ben,
On Fri, 30 Jul 2021, Ben Boeckel wrote:
> All of the preferences are now tracked as part of the `advice_setting` > array and all consumers of the global variables have been removed, so > the parallel tracking through `advice_config` is no longer necessary.
Maybe add "This concludes the move from the old advice API to the new one introduced via c4a09cc9ccb (Merge branch 'hw/advise-ng', 2020-03-25)"?
At least this reader would have found that helpful.
And as I mentioned in the review of patch 3/4, the removal of the explicit assignment to the `advice_*` global variables should be moved here.
Ciao, Dscho
Show 155 quoted lines
>
> Signed-off-by: Ben Boeckel <mathstuf@gmail.com>
> ---
> advice.c | 77 --------------------------------------------------------
> advice.h | 31 -----------------------
> 2 files changed, 108 deletions(-)
>
> diff --git a/advice.c b/advice.c
> index ee4edc5e28..6ba47f3f5e 100644
> --- a/advice.c
> +++ b/advice.c
> @@ -4,37 +4,6 @@
> #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] = {
> GIT_COLOR_RESET,
> @@ -62,45 +31,6 @@ static const char *advise_get_color(enum color_advice ix)
> return "";
> }
>
> -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 {
> const char *key;
> int enabled;
> @@ -228,13 +158,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;
> diff --git a/advice.h b/advice.h
> index 101c4054b7..17ee5d3633 100644
> --- a/advice.h
> +++ b/advice.h
> @@ -5,37 +5,6 @@
>
> 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:
> * Define a new advice_type.
> --
> 2.31.1
>
>