From patchwork Fri Aug 6 19:13:15 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?w4Z2YXIgQXJuZmrDtnLDsCBCamFybWFzb24=?= X-Patchwork-Id: 12423763 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1861EC432BE for ; Fri, 6 Aug 2021 19:13:31 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id ED3B661159 for ; Fri, 6 Aug 2021 19:13:30 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S243789AbhHFTNq (ORCPT ); Fri, 6 Aug 2021 15:13:46 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37878 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S243701AbhHFTNk (ORCPT ); Fri, 6 Aug 2021 15:13:40 -0400 Received: from mail-wr1-x433.google.com (mail-wr1-x433.google.com [IPv6:2a00:1450:4864:20::433]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AB759C061798 for ; Fri, 6 Aug 2021 12:13:22 -0700 (PDT) Received: by mail-wr1-x433.google.com with SMTP id z4so12310921wrv.11 for ; Fri, 06 Aug 2021 12:13:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=peg3ZPXYkCJGBaOgvVUJux6hfwPgOElIvCFEzVBIQJ8=; b=tw7NhhMxtZMHtI6Fp3YJexqpTsFNII3bqOr8dQvzJQoCzHnS1/ldVXKgNE1RrxQ1K6 h7s2AUsw5ZAyzi6qiK727KqhMhUpKkkGWm+hqoFVDWZ0CHTslVJ9Z9RBHQn8U7nBUmIq GsXilFtnFoBHpu3xT4YSwAgwePG7XENN4p0lV+9rTfGSnrGQ+kHLgYBkhn+E6fCVqnQf SHSvzPregTj8Y4OU5iTWy0l6yZDkGNcqHCuhI2vMl8V6F1un1CrdW+vnvYiYmXHuzAbs jXNHgI8ZkOfmUtEOD2mWkSUPc0nt//mVzWIMF35aL2jGXFGwIhlJk3aCnZa/mYPsMueR z7Gw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=peg3ZPXYkCJGBaOgvVUJux6hfwPgOElIvCFEzVBIQJ8=; b=FSdq4ziV1l00/ev6TZ/QL5lI/5zJUR5p/LUL6T7YdJxLKc0YmNrSIGRo1WaRO/QbS8 OWn9KOdqkfn+TZRYVvurzEiEvYMYNSuCf3jKfjQKL+AcDLTGGveDimQR6CxSHOgkY9u0 kqTituJ63c55UC2ZXBkNrnoAeTgMG+Ev+9DqCY0F8o7kce2scDArOB0BAAmh9/dEe6mB KtNiNN1Bg2sqEZOLd52obT+E0FxoTIngJq7qfLHvdZjkvo5PM0MQ1v33+9VfYDwjxLCL 5tWOp7MX7nz+GIYJJzh5Ly9tSC+0etHMhFXpV/CA86xVQxBnmnBJ/Y2h0aX5Wh75DR77 Nyfg== X-Gm-Message-State: AOAM533jAEkaSP+Yvm3KLvpdI6lRl//IMKuMJtv9hmJzRPMQctjPLmFL YVQlY5eOM84Zt6cZcxnfYLQnX1y5oiA= X-Google-Smtp-Source: ABdhPJwsTrw2oMUPf5khX0aU5x0kQLvvu2vtWuysTvpZubskKYLuZhDBfYb0mvPfDpjBhqf10zQoVQ== X-Received: by 2002:adf:ffd1:: with SMTP id x17mr12307580wrs.391.1628277201015; Fri, 06 Aug 2021 12:13:21 -0700 (PDT) Received: from vm.nix.is (vm.nix.is. [2a01:4f8:120:2468::2]) by smtp.gmail.com with ESMTPSA id r12sm11039849wrn.31.2021.08.06.12.13.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 06 Aug 2021 12:13:20 -0700 (PDT) From: =?utf-8?b?w4Z2YXIgQXJuZmrDtnLDsCBCamFybWFzb24=?= To: git@vger.kernel.org Cc: Ben Boeckel , Junio C Hamano , Johannes Schindelin , =?utf-8?b?w4Z2YXIgQXJu?= =?utf-8?b?ZmrDtnLDsCBCamFybWFzb24=?= Subject: [RFC PATCH v3 1/4] advice: add enum variants for missing advice variables Date: Fri, 6 Aug 2021 21:13:15 +0200 Message-Id: X-Mailer: git-send-email 2.33.0.rc0.680.gf07173a897a In-Reply-To: References: <20210805230321.532218-1-mathstuf@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org From: Ben Boeckel In daef1b300b0 (Merge branch 'hw/advice-add-nothing', 2020-02-14), two advice settings were introduced into the `advice_config` array. Subsequently, c4a09cc9ccb (Merge branch 'hw/advise-ng', 2020-03-25) started to deprecate `advice_config` in favor of a new array, `advice_setting`. However, the latter branch did not include the former branch, and therefore `advice_setting` is missing the two entries added by the `hw/advice-add-nothing` branch. These are currently the only entries in `advice_config` missing from `advice_setting`. Signed-off-by: Ben Boeckel Signed-off-by: Ævar Arnfjörð Bjarmason --- advice.c | 2 ++ advice.h | 2 ++ 2 files changed, 4 insertions(+) diff --git a/advice.c b/advice.c index 0b9c89c48a..6da51be63c 100644 --- a/advice.c +++ b/advice.c @@ -106,6 +106,8 @@ static struct { int enabled; } advice_setting[] = { [ADVICE_ADD_EMBEDDED_REPO] = { "addEmbeddedRepo", 1 }, + [ADVICE_ADD_EMPTY_PATHSPEC] = { "addEmptyPathspec", 1 }, + [ADVICE_ADD_IGNORED_FILE] = { "addIgnoredFile", 1 }, [ADVICE_AM_WORK_DIR] = { "amWorkDir", 1 }, [ADVICE_CHECKOUT_AMBIGUOUS_REMOTE_BRANCH_NAME] = { "checkoutAmbiguousRemoteBranchName", 1 }, [ADVICE_COMMIT_BEFORE_MERGE] = { "commitBeforeMerge", 1 }, diff --git a/advice.h b/advice.h index 9f8ffc7354..68629b5ba1 100644 --- a/advice.h +++ b/advice.h @@ -45,6 +45,8 @@ extern int advice_add_empty_pathspec; */ enum advice_type { ADVICE_ADD_EMBEDDED_REPO, + ADVICE_ADD_EMPTY_PATHSPEC, + ADVICE_ADD_IGNORED_FILE, ADVICE_AM_WORK_DIR, ADVICE_CHECKOUT_AMBIGUOUS_REMOTE_BRANCH_NAME, ADVICE_COMMIT_BEFORE_MERGE, From patchwork Fri Aug 6 19:13:16 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?w4Z2YXIgQXJuZmrDtnLDsCBCamFybWFzb24=?= X-Patchwork-Id: 12423765 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.7 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3F2B5C4338F for ; Fri, 6 Aug 2021 19:13:30 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 10C9C61159 for ; Fri, 6 Aug 2021 19:13:30 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S243757AbhHFTNo (ORCPT ); Fri, 6 Aug 2021 15:13:44 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37880 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231860AbhHFTNj (ORCPT ); Fri, 6 Aug 2021 15:13:39 -0400 Received: from mail-wm1-x32d.google.com (mail-wm1-x32d.google.com [IPv6:2a00:1450:4864:20::32d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8D386C0613CF for ; Fri, 6 Aug 2021 12:13:23 -0700 (PDT) Received: by mail-wm1-x32d.google.com with SMTP id h24-20020a1ccc180000b029022e0571d1a0so6803362wmb.5 for ; Fri, 06 Aug 2021 12:13:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=FmA8Q8paWQdE0csuccVVp60N6GSWjAxswNF+q6FtopE=; b=taWT3kxCjcJN6f6To+BuwJm9/i8FsPULPh1pDV+3uHVolpEOjHtUbevEvX1iUApBWd 3brK0y70z+5RQTzjphE00C4MXnXb3qorNNAlKyH941g08ReTuSH4LE9JatoVYJak3Q+M GKDpdFNFV7qh3WtGz52jCUUTgPdRi4kIhByZC5zu3cbBf3SzpJiAHUD5dysTGoK+qiMh N1lcHmVAlhhFYH89tyWWxpg4gglWmqKfZLvHAiGMvVMChOdOqrREmBmjZa8bv2v3//oF 9orLcZ5sYqgn77ZFt3tptcx9g6qpUx1OG49BtTBZUDhbS7AbPSELOhwhVVbVWomIRHxp ZtzA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=FmA8Q8paWQdE0csuccVVp60N6GSWjAxswNF+q6FtopE=; b=UV99zutx9GogTJ35bwWh/88ZWXUTH4krbV2rCl0MlHhz+1XhQwkXZrFhY33+VDE5QN yxOAOKDOVhdFtRbV7ZOYJRldR1fOXDkZOn2PU2QwPxVYpBUPS5QHn55Jk2BZ3cyFcP8r oUVL6LjdX5O8JiheDaj0dWVJLPA5lmWbZ9aBO64JaJuCikC+IaQeicts+mnIoAKnKzaI PXp3JNSwD9Ebn2hzCSU+/p3SdOJJXAV0mfjdWil9P8mn9l8OqAs5NsCrUdZFIdY2kcAh PvcosWoaguRhX3JFHwURxmfPs9AK8H+nUmeecBqS6+YxPZkFRBpKectEWPiZO5Bt7Lsf Lc8w== X-Gm-Message-State: AOAM530GiiGHyD9u7rdWNj/X760IxWcrKelfg9kYSLrqjZ+JfTesGG42 eG5wf7kFI3oMa9vaR9QLMwog+dDLoiOUUg== X-Google-Smtp-Source: ABdhPJzNG10cW0DvJVqZF8K8a8uSZVNx1qHK3VQTv0gohaf4cQp+Li7sn+WoG8oFZYThPKeGnKMMQg== X-Received: by 2002:a7b:c4da:: with SMTP id g26mr8837445wmk.156.1628277201698; Fri, 06 Aug 2021 12:13:21 -0700 (PDT) Received: from vm.nix.is (vm.nix.is. [2a01:4f8:120:2468::2]) by smtp.gmail.com with ESMTPSA id r12sm11039849wrn.31.2021.08.06.12.13.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 06 Aug 2021 12:13:21 -0700 (PDT) From: =?utf-8?b?w4Z2YXIgQXJuZmrDtnLDsCBCamFybWFzb24=?= To: git@vger.kernel.org Cc: Ben Boeckel , Junio C Hamano , Johannes Schindelin , =?utf-8?b?w4Z2YXIgQXJu?= =?utf-8?b?ZmrDtnLDsCBCamFybWFzb24=?= Subject: [RFC PATCH v3 2/4] advice: remove read uses of most global `advice_` variables Date: Fri, 6 Aug 2021 21:13:16 +0200 Message-Id: X-Mailer: git-send-email 2.33.0.rc0.680.gf07173a897a In-Reply-To: References: <20210805230321.532218-1-mathstuf@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org From: Ben Boeckel 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 seperately. Signed-off-by: Ben Boeckel Signed-off-by: Ævar Arnfjörð Bjarmason --- advice.c | 63 ++----------------------------------- advice.h | 28 ----------------- branch.c | 2 +- builtin/add.c | 4 +-- builtin/am.c | 2 +- builtin/checkout.c | 6 ++-- builtin/clone.c | 2 +- builtin/commit.c | 4 +-- builtin/fetch.c | 2 +- builtin/merge.c | 4 +-- builtin/push.c | 12 +++---- builtin/reset.c | 2 +- builtin/rm.c | 2 +- builtin/submodule--helper.c | 2 +- editor.c | 2 +- notes-merge.c | 2 +- object-name.c | 2 +- remote.c | 12 +++---- run-command.c | 2 +- sequencer.c | 8 ++--- unpack-trees.c | 18 +++++------ wt-status.c | 6 ++-- 22 files changed, 50 insertions(+), 137 deletions(-) diff --git a/advice.c b/advice.c index 6da51be63c..b18833bc80 100644 --- 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.")); } diff --git a/advice.h b/advice.h index 68629b5ba1..ed51db0f05 100644 --- 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: diff --git a/branch.c b/branch.c index 7a88a4861e..07a46430b3 100644 --- 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); diff --git a/builtin/add.c b/builtin/add.c index 09e684585d..cf29b302d4 100644 --- a/builtin/add.c +++ b/builtin/add.c @@ -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\"")); diff --git a/builtin/am.c b/builtin/am.c index 0c2ad96b70..ff7dd33fcd 100644 --- a/builtin/am.c +++ b/builtin/am.c @@ -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); diff --git a/builtin/checkout.c b/builtin/checkout.c index b5d477919a..1c6307d456 100644 --- a/builtin/checkout.c +++ b/builtin/checkout.c @@ -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" diff --git a/builtin/clone.c b/builtin/clone.c index 66fe66679c..c1603aa82b 100644 --- a/builtin/clone.c +++ b/builtin/clone.c @@ -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 { diff --git a/builtin/commit.c b/builtin/commit.c index 243c626307..df8bcc27ae 100644 --- a/builtin/commit.c +++ b/builtin/commit.c @@ -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) diff --git a/builtin/fetch.c b/builtin/fetch.c index 25740c13df..2501e1d10d 100644 --- a/builtin/fetch.c +++ b/builtin/fetch.c @@ -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) { diff --git a/builtin/merge.c b/builtin/merge.c index 22f23990b3..1b3d98d5fd 100644 --- a/builtin/merge.c +++ b/builtin/merge.c @@ -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 ', 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 diff --git a/builtin/push.c b/builtin/push.c index e8b10a9b7e..4b026ce6c6 100644 --- a/builtin/push.c +++ b/builtin/push.c @@ -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)); } diff --git a/builtin/reset.c b/builtin/reset.c index 43e855cb88..51c9e2f43f 100644 --- a/builtin/reset.c +++ b/builtin/reset.c @@ -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); diff --git a/builtin/rm.c b/builtin/rm.c index 8a24c715e0..3b44b807e5 100644 --- a/builtin/rm.c +++ b/builtin/rm.c @@ -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); diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c index ef2776a9e4..4da9781b99 100644 --- a/builtin/submodule--helper.c +++ b/builtin/submodule--helper.c @@ -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); diff --git a/editor.c b/editor.c index 6303ae0ab0..fdd3eeafa9 100644 --- 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) { /* diff --git a/notes-merge.c b/notes-merge.c index 46c1f7c7f1..b4a3a903e8 100644 --- a/notes-merge.c +++ b/notes-merge.c @@ -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 " diff --git a/object-name.c b/object-name.c index 3263c19457..fdff4601b2 100644 --- a/object-name.c +++ b/object-name.c @@ -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); diff --git a/remote.c b/remote.c index dfb863d808..4ef53a6e30 100644 --- 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")); } diff --git a/run-command.c b/run-command.c index f72e72cce7..28e3eb5732 100644 --- a/run-command.c +++ b/run-command.c @@ -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)) { diff --git a/sequencer.c b/sequencer.c index 7f07cd00f3..ab63eede45 100644 --- a/sequencer.c +++ b/sequencer.c @@ -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"); diff --git a/unpack-trees.c b/unpack-trees.c index 5786645f31..d9907faf7b 100644 --- a/unpack-trees.c +++ b/unpack-trees.c @@ -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"); diff --git a/wt-status.c b/wt-status.c index eaed30eafb..e4f29b2b4c 100644 --- a/wt-status.c +++ b/wt-status.c @@ -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" From patchwork Fri Aug 6 19:13:17 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?w4Z2YXIgQXJuZmrDtnLDsCBCamFybWFzb24=?= X-Patchwork-Id: 12423767 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9CA10C4338F for ; Fri, 6 Aug 2021 19:13:35 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 764F761159 for ; Fri, 6 Aug 2021 19:13:35 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S243759AbhHFTNu (ORCPT ); Fri, 6 Aug 2021 15:13:50 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37880 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S243725AbhHFTNl (ORCPT ); Fri, 6 Aug 2021 15:13:41 -0400 Received: from mail-wr1-x42d.google.com (mail-wr1-x42d.google.com [IPv6:2a00:1450:4864:20::42d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 525CFC061799 for ; Fri, 6 Aug 2021 12:13:24 -0700 (PDT) Received: by mail-wr1-x42d.google.com with SMTP id c9so12278248wri.8 for ; Fri, 06 Aug 2021 12:13:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=N3fZVBo9SQFqaHWUWLrML56EaNrnLV8DwTX0JbMq8g8=; b=Af5zCusEj1qarDUIdZ3rf8YPOoYZeK5vcary1q9NxeCvOjWPyFU06nv+lkONP/UR9y 8mkAGWGYynreWxlLnzYdkHXcp6JTOOODeWqB0xHVKWgqRY6IyQE8p50ta9tf7St09GwJ MVwWMyy5dtlhYh4UyzLOR6N198W350il/8ZmDX5ebxCuKSAk4g3+SkMdRltNFzY1/EIK DYdjCPaCIcf5uwh331J1ehEYfLeN8UIU+uT6qzBF5WKFD8AOftskTcaY8bDNRU3kuMB+ HCuCczkExKZsZck4qASzF8F1L5SCG1AMWbT0o48Dn4ka2+Kj5LEZh3bUq3fqHFEX9feg AGXw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=N3fZVBo9SQFqaHWUWLrML56EaNrnLV8DwTX0JbMq8g8=; b=j27qk8vqszwYnq8HkVXlUHTu9klk+m/p3+ZhJDZV5mABeu0UxegUmXEsmb74j13rE5 zwjdeeJKSBpYgxBfv3ooIahOvYclbCWposU/OIiZt9LnmJ6/7dYa5DRcEMeBlxpfS5W+ ami6MOVvwmQO+OrYMiwIsv26ygh6wpvlP3arQujeHgpuqTpauZQH9RLWcSeAmZJU/nSo hFeuLJRjZ6nYbxRGwY1N2ntepG22yyxV9A4UWtLdjNvVjC8AGilz3p8xSWVjxXnnTByA Kd2YoEeDF2sGn08fLIZcUnOWSFfFSaH07lPkR5syhqEgzrElQ5ZBsjrrTpaRG3D1+Mn1 WTqQ== X-Gm-Message-State: AOAM531ci3icNj8aPlxcaDHmEGWxoDZj+XV7XO6iAyAsCRo3/yQ3dsfk x7kpsxOT1f+K+h09HeuC6Nfz3VOVj6RStw== X-Google-Smtp-Source: ABdhPJxg0TwIaX7ipKfgCFYr2U3DYnY8wKuWqutTVpgXDDHvOCvY/w0kbYaQ7a055s8EqTQ6c1ADyw== X-Received: by 2002:a05:6000:18cc:: with SMTP id w12mr12198426wrq.96.1628277202718; Fri, 06 Aug 2021 12:13:22 -0700 (PDT) Received: from vm.nix.is (vm.nix.is. [2a01:4f8:120:2468::2]) by smtp.gmail.com with ESMTPSA id r12sm11039849wrn.31.2021.08.06.12.13.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 06 Aug 2021 12:13:21 -0700 (PDT) From: =?utf-8?b?w4Z2YXIgQXJuZmrDtnLDsCBCamFybWFzb24=?= To: git@vger.kernel.org Cc: Ben Boeckel , Junio C Hamano , Johannes Schindelin , =?utf-8?b?w4Z2YXIgQXJu?= =?utf-8?b?ZmrDtnLDsCBCamFybWFzb24=?= Subject: [RFC PATCH v3 3/4] advice: remove use of global advice_add_embedded_repo Date: Fri, 6 Aug 2021 21:13:17 +0200 Message-Id: X-Mailer: git-send-email 2.33.0.rc0.680.gf07173a897a In-Reply-To: References: <20210805230321.532218-1-mathstuf@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org The external use of this variable was added in 532139940c9 (add: warn when adding an embedded repository, 2017-06-14), for the use-case it's more straightforward to track whether we've adviced in check_embedded_repo() than setting the global variable. Signed-off-by: Ævar Arnfjörð Bjarmason --- advice.c | 2 -- advice.h | 1 - builtin/add.c | 7 ++++--- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/advice.c b/advice.c index b18833bc80..41cfea82d0 100644 --- a/advice.c +++ b/advice.c @@ -4,7 +4,6 @@ #include "help.h" #include "string-list.h" -int advice_add_embedded_repo = 1; int advice_graft_file_deprecated = 1; static int advice_use_color = -1; @@ -38,7 +37,6 @@ static struct { const char *name; int *preference; } advice_config[] = { - { "addEmbeddedRepo", &advice_add_embedded_repo }, { "graftFileDeprecated", &advice_graft_file_deprecated }, }; diff --git a/advice.h b/advice.h index ed51db0f05..4b754f4c62 100644 --- a/advice.h +++ b/advice.h @@ -5,7 +5,6 @@ struct string_list; -extern int advice_add_embedded_repo; extern int advice_graft_file_deprecated; /* diff --git a/builtin/add.c b/builtin/add.c index cf29b302d4..8a5dd29f3f 100644 --- a/builtin/add.c +++ b/builtin/add.c @@ -419,6 +419,7 @@ static const char embedded_advice[] = N_( static void check_embedded_repo(const char *path) { struct strbuf name = STRBUF_INIT; + static int adviced_on_embedded_repo = 0; if (!warn_on_embedded_repo) return; @@ -430,10 +431,10 @@ static void check_embedded_repo(const char *path) strbuf_strip_suffix(&name, "/"); warning(_("adding embedded git repository: %s"), name.buf); - if (advice_add_embedded_repo) { + if (!adviced_on_embedded_repo && + advice_enabled(ADVICE_ADD_EMBEDDED_REPO)) { advise(embedded_advice, name.buf, name.buf); - /* there may be multiple entries; advise only once */ - advice_add_embedded_repo = 0; + adviced_on_embedded_repo = 1; } strbuf_release(&name); From patchwork Fri Aug 6 19:13:18 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?w4Z2YXIgQXJuZmrDtnLDsCBCamFybWFzb24=?= X-Patchwork-Id: 12423769 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4B99BC432BE for ; Fri, 6 Aug 2021 19:13:36 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 1E1A561159 for ; Fri, 6 Aug 2021 19:13:36 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S243802AbhHFTNv (ORCPT ); Fri, 6 Aug 2021 15:13:51 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37900 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S243780AbhHFTNp (ORCPT ); Fri, 6 Aug 2021 15:13:45 -0400 Received: from mail-wm1-x336.google.com (mail-wm1-x336.google.com [IPv6:2a00:1450:4864:20::336]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0457FC0613CF for ; Fri, 6 Aug 2021 12:13:25 -0700 (PDT) Received: by mail-wm1-x336.google.com with SMTP id l11-20020a7bcf0b0000b0290253545c2997so6799986wmg.4 for ; Fri, 06 Aug 2021 12:13:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=SQgn/Qbe2WqwUjiO3JXeXKD5F4hVigk2W4Ylv8D8kis=; b=ruzLYttpcL6yfIyRtZzpF9FlIHeWUQ3wRITICf+E5xmZGoWF8bU7z65Avd4f03nAEs a+o0x369qOmHKOYf5t7k9ey36yDXIBnFE8PDjwAhAAjvzw/qf/caByag/OsFmysiS/WS EeXWUX/O6ANOPU2HDmF77+M7tyDWOB8qQ2paMAa5/o08HGjm+JFhT/TVXA6kolR+DMZg /yKzZXXbo2Nh0IRmCot5xRRH6Dpxsc1EOQGke6rL66ERb7tbDnDbOM1I6Jk4J3zfVbcu wKgxdvVsfeQ/QRPO2BPwuiPqrUnu0VYpndZjRG7Y7g4EgiN0rUfS/H1JT+aftOtULuKZ 8q9g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=SQgn/Qbe2WqwUjiO3JXeXKD5F4hVigk2W4Ylv8D8kis=; b=iN3pOOZLJNHxqx44LxWlajihLRfqwQziF4nboWHveHF/jgMPyoo8UA1DlKhtYW6Jjw NkMcd19v29rfWEOMOrU28+kG6CyIpldFL7u+kX9YhDRym4Ns994yHLaa427K4v9oaHTy V8zxoDlauG0Fq5Kf1Krru0FzEohhAEJpjA7cqhlw9YSeM0u/UQU42D2eNcS53yYu3Ako x8UNgk8BGbns/ZQ79IFvhHDUtYOP1Ewju74BxgOldP9UwaLnkbKysbmqokWnjKd/aeCG ToUDCeSYMhM8nPaIGea0nibBlODBMuYVOYVjGTg283DH2eXDCG0cYPVvCM3hHnXDmudC CiLA== X-Gm-Message-State: AOAM5317SqB5F/jsJWU489h3LuveHnqBjaLDqpzUvI0inclWEtPSMfaW 2wFhT/Aw6MAMSZCronoLMENBPgitU7GcNg== X-Google-Smtp-Source: ABdhPJyhe3+9i3lnFR4fIXSqSpLEBAc62tfztSNA/h9wmpTNrEYAJ3sq8hTgxuLSt5QmlpNCi86ERw== X-Received: by 2002:a7b:cc98:: with SMTP id p24mr22056746wma.118.1628277203353; Fri, 06 Aug 2021 12:13:23 -0700 (PDT) Received: from vm.nix.is (vm.nix.is. [2a01:4f8:120:2468::2]) by smtp.gmail.com with ESMTPSA id r12sm11039849wrn.31.2021.08.06.12.13.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 06 Aug 2021 12:13:22 -0700 (PDT) From: =?utf-8?b?w4Z2YXIgQXJuZmrDtnLDsCBCamFybWFzb24=?= To: git@vger.kernel.org Cc: Ben Boeckel , Junio C Hamano , Johannes Schindelin , =?utf-8?b?w4Z2YXIgQXJu?= =?utf-8?b?ZmrDtnLDsCBCamFybWFzb24=?= Subject: [RFC PATCH v3 4/4] advice: move advice.graftFileDeprecated squashing to commit.[ch] Date: Fri, 6 Aug 2021 21:13:18 +0200 Message-Id: X-Mailer: git-send-email 2.33.0.rc0.680.gf07173a897a In-Reply-To: References: <20210805230321.532218-1-mathstuf@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org 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 --- advice.c | 16 ---------------- advice.h | 2 -- builtin/replace.c | 2 +- commit.c | 4 +++- commit.h | 1 + 5 files changed, 5 insertions(+), 20 deletions(-) diff --git a/advice.c b/advice.c index 41cfea82d0..e716ddebff 100644 --- 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; diff --git a/advice.h b/advice.h index 4b754f4c62..e380a0562e 100644 --- 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. diff --git a/builtin/replace.c b/builtin/replace.c index cd48765911..946938d011 100644 --- a/builtin/replace.c +++ b/builtin/replace.c @@ -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; diff --git a/commit.c b/commit.c index 143f472c0f..551de4903c 100644 --- 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 /info/grafts is deprecated\n" "and will be removed in a future Git version.\n" "\n" diff --git a/commit.h b/commit.h index df42eb434f..3ea32766bc 100644 --- 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.. */