From patchwork Fri Feb 25 05:23:18 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Abhradeep Chakraborty X-Patchwork-Id: 12759671 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 287F3C433EF for ; Fri, 25 Feb 2022 05:23:42 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236459AbiBYFYK (ORCPT ); Fri, 25 Feb 2022 00:24:10 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47186 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236363AbiBYFYI (ORCPT ); Fri, 25 Feb 2022 00:24:08 -0500 Received: from mail-wr1-x432.google.com (mail-wr1-x432.google.com [IPv6:2a00:1450:4864:20::432]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3A5DC21DF22 for ; Thu, 24 Feb 2022 21:23:23 -0800 (PST) Received: by mail-wr1-x432.google.com with SMTP id p9so2709366wra.12 for ; Thu, 24 Feb 2022 21:23:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:in-reply-to:references:from:date:subject:fcc :content-transfer-encoding:mime-version:to:cc; bh=MuawZ40CnhXHML7tFAJyfFOw3UI22zmSfvmTe20SdDI=; b=FDOFn9nvrQ2S12ZTU01iRWIaGU1I76Sx80akssQl1E5+na2fTZHb2d7yE1/hke5Riu Q+JW3qIc2h3IP1DpBTBMgavdIFoyAxVZFNnVubIxvu3u+5H2AVQcbHaYn1harBQmnU5x GC4yAnEjDeHhrGHA06ju9I7Kx8ONg6mjY8+/QCdmexxPIq1AcJd0DJRxKv5y3QA7Xf9g ny+QRUa953gcDxzUBtH3FU+C0TpWlqqaIX8w7gLkYLajmGMmiThveN3gjo8TqheGkSbY VY77Rh1uF4RlGWEAmzFefX8T8Z4AACezw0c2Pa+Vwv32ySd/KZp3X+a2DxBy4GFpQzFs YWng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:in-reply-to:references:from:date :subject:fcc:content-transfer-encoding:mime-version:to:cc; bh=MuawZ40CnhXHML7tFAJyfFOw3UI22zmSfvmTe20SdDI=; b=L1adFVOPpGsRP6TOAKRMkd40zK9FDziEsiSz64RIl4LVa1dOh8g6zptMOHF+Lh2ri7 9dIZdRF/5zr3Iq4oxvzqPekXg5wSxp7K34g+0hzgp0p0F9WfM/NZYYCACWS1SontR4gJ MTVl8Qcq6dl1i7X9ipdwyK6h+UGi2265Npg7MjOU/Drcwej3uRoK4l9TbFscAk8WbFtQ 9LzpYkrDgRMlfqZgKlc/hlKMnCfUhtZzwFP6Pn/+Nys4KpQFoFMEDg+6iiu+Iusg1JQq UPDqtcA5tKmc76X4Lu0eDx88DcxsCkVKVaKRVrNVNb8Tt7Mpi3rrTCKp61fhhnWkkkvz gh9A== X-Gm-Message-State: AOAM530mYmCLH2MiT9phiCkAMmww2BXqEHeD6u3gTNHuWOHfYDx07Q69 tVImrId4Zj7CeejUv6ZI8gjRQzFtWMQ= X-Google-Smtp-Source: ABdhPJzFEvY3od3kO/qmwvfBGJcfxWUq3Td/VbU1adBxQAVJTOTVTUCpBWH04oO95wHswakFwdweng== X-Received: by 2002:a5d:588d:0:b0:1e9:3adc:fec6 with SMTP id n13-20020a5d588d000000b001e93adcfec6mr4600109wrf.125.1645766601621; Thu, 24 Feb 2022 21:23:21 -0800 (PST) Received: from [127.0.0.1] ([13.74.141.28]) by smtp.gmail.com with ESMTPSA id o18-20020a05600c511200b00352ec3b4c5asm1365859wms.7.2022.02.24.21.23.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 24 Feb 2022 21:23:21 -0800 (PST) Message-Id: In-Reply-To: References: Date: Fri, 25 Feb 2022 05:23:18 +0000 Subject: [PATCH v4 1/2] amend remaining usage strings according to style guide Fcc: Sent MIME-Version: 1.0 To: git@vger.kernel.org Cc: =?utf-8?b?w4Z2YXIgQXJuZmrDtnLDsA==?= Bjarmason , Johannes Schindelin , Julia Lawall , Eric Sunshine , Junio C Hamano , Abhradeep Chakraborty , Abhradeep Chakraborty Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org From: Abhradeep Chakraborty From: Abhradeep Chakraborty Usage strings for git (sub)command flags has a style guide that suggests - first letter should not capitalized (unless required) and it should skip full-stop at the end of line. But there are some files where usage-strings do not follow the above mentioned guide. Amend the usage strings that don't follow the style convention/guide. Signed-off-by: Abhradeep Chakraborty --- builtin/bisect--helper.c | 2 +- builtin/reflog.c | 6 +++--- builtin/submodule--helper.c | 2 +- diff.c | 2 +- t/helper/test-run-command.c | 6 +++--- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/builtin/bisect--helper.c b/builtin/bisect--helper.c index 28a2e6a5750..614d95b022c 100644 --- a/builtin/bisect--helper.c +++ b/builtin/bisect--helper.c @@ -1209,7 +1209,7 @@ int cmd_bisect__helper(int argc, const char **argv, const char *prefix) OPT_CMDMODE(0, "bisect-visualize", &cmdmode, N_("visualize the bisection"), BISECT_VISUALIZE), OPT_CMDMODE(0, "bisect-run", &cmdmode, - N_("use ... to automatically bisect."), BISECT_RUN), + N_("use ... to automatically bisect"), BISECT_RUN), OPT_BOOL(0, "no-log", &nolog, N_("no log for BISECT_WRITE")), OPT_END() diff --git a/builtin/reflog.c b/builtin/reflog.c index 85b838720c3..28372c5e2b5 100644 --- a/builtin/reflog.c +++ b/builtin/reflog.c @@ -600,7 +600,7 @@ static int cmd_reflog_expire(int argc, const char **argv, const char *prefix) OPT_BIT(0, "updateref", &flags, N_("update the reference to the value of the top reflog entry"), EXPIRE_REFLOGS_UPDATE_REF), - OPT_BOOL(0, "verbose", &verbose, N_("print extra information on screen.")), + OPT_BOOL(0, "verbose", &verbose, N_("print extra information on screen")), OPT_CALLBACK_F(0, "expire", &cmd, N_("timestamp"), N_("prune entries older than the specified time"), PARSE_OPT_NONEG, @@ -613,7 +613,7 @@ static int cmd_reflog_expire(int argc, const char **argv, const char *prefix) N_("prune any reflog entries that point to broken commits")), OPT_BOOL(0, "all", &do_all, N_("process the reflogs of all references")), OPT_BOOL(1, "single-worktree", &all_worktrees, - N_("limits processing to reflogs from the current worktree only.")), + N_("limits processing to reflogs from the current worktree only")), OPT_END() }; @@ -736,7 +736,7 @@ static int cmd_reflog_delete(int argc, const char **argv, const char *prefix) OPT_BIT(0, "updateref", &flags, N_("update the reference to the value of the top reflog entry"), EXPIRE_REFLOGS_UPDATE_REF), - OPT_BOOL(0, "verbose", &verbose, N_("print extra information on screen.")), + OPT_BOOL(0, "verbose", &verbose, N_("print extra information on screen")), OPT_END() }; diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c index 33c82c3ab91..6332d305983 100644 --- a/builtin/submodule--helper.c +++ b/builtin/submodule--helper.c @@ -1875,7 +1875,7 @@ static int module_clone(int argc, const char **argv, const char *prefix) OPT_STRING(0, "depth", &clone_data.depth, N_("string"), N_("depth for shallow clones")), - OPT__QUIET(&quiet, "Suppress output for cloning a submodule"), + OPT__QUIET(&quiet, "suppress output for cloning a submodule"), OPT_BOOL(0, "progress", &progress, N_("force cloning progress")), OPT_BOOL(0, "require-init", &require_init, diff --git a/diff.c b/diff.c index 7d5cfd325ea..387435a4a45 100644 --- a/diff.c +++ b/diff.c @@ -5630,7 +5630,7 @@ static void prep_parse_options(struct diff_options *options) N_("select files by diff type"), PARSE_OPT_NONEG, diff_opt_diff_filter), { OPTION_CALLBACK, 0, "output", options, N_(""), - N_("Output to a specific file"), + N_("output to a specific file"), PARSE_OPT_NONEG, NULL, 0, diff_opt_output }, OPT_END() diff --git a/t/helper/test-run-command.c b/t/helper/test-run-command.c index 913775a14b7..8f370cd89f1 100644 --- a/t/helper/test-run-command.c +++ b/t/helper/test-run-command.c @@ -221,9 +221,9 @@ static int quote_stress_test(int argc, const char **argv) struct strbuf out = STRBUF_INIT; struct strvec args = STRVEC_INIT; struct option options[] = { - OPT_INTEGER('n', "trials", &trials, "Number of trials"), - OPT_INTEGER('s', "skip", &skip, "Skip trials"), - OPT_BOOL('m', "msys2", &msys2, "Test quoting for MSYS2's sh"), + OPT_INTEGER('n', "trials", &trials, "number of trials"), + OPT_INTEGER('s', "skip", &skip, "skip trials"), + OPT_BOOL('m', "msys2", &msys2, "test quoting for MSYS2's sh"), OPT_END() }; const char * const usage[] = { From patchwork Fri Feb 25 05:23:19 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Abhradeep Chakraborty X-Patchwork-Id: 12759672 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8ACD9C433EF for ; Fri, 25 Feb 2022 05:23:44 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236848AbiBYFYM (ORCPT ); Fri, 25 Feb 2022 00:24:12 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47200 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236612AbiBYFYJ (ORCPT ); Fri, 25 Feb 2022 00:24:09 -0500 Received: from mail-wr1-x431.google.com (mail-wr1-x431.google.com [IPv6:2a00:1450:4864:20::431]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 08A4E278CAD for ; Thu, 24 Feb 2022 21:23:24 -0800 (PST) Received: by mail-wr1-x431.google.com with SMTP id j22so2697580wrb.13 for ; Thu, 24 Feb 2022 21:23:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:in-reply-to:references:from:date:subject:fcc :content-transfer-encoding:mime-version:to:cc; bh=EQ/xTVvmF564PydLTzcBRxmgyW46QzXIpVF6CejWuHI=; b=mUWRLLdTS7pf6OICtSiY4Z1I+PBdM7tBqbo8W87Puk7DiGfFhX9pLwculTChI3QbH2 f/U+2YwLW1a+5gM2EFixkDYn0JXNeNlLAoJaBoTFJ8K+uDLyj/gAyf2MuG20+lWS+U3n QRNskDM6HiJHftamrY3L28YdVB5CKzdaDl6iszsCil05En0XkseGOd/kyX7aBQSujMuQ B/9ypwiq2j/ILJ/Qjcv2uzT6uN9OaHViFpfs7PBsuwy2Pgm4g1JWv4jXjPfBWNr13bO2 rHlpGjPz4XLjezerTJhBpyjLPstN+IkSb8lMCbZgpuozEOL9XW8DkFBv18T4qTdvaU+g xGmQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:in-reply-to:references:from:date :subject:fcc:content-transfer-encoding:mime-version:to:cc; bh=EQ/xTVvmF564PydLTzcBRxmgyW46QzXIpVF6CejWuHI=; b=s0pe3kNs1T8JaIydEjuBpmzo9Phi9blPMNzye1LCkFvcVKmx57s9MmJGuKNnblbFiy MCInuqafjfprrtroxv9+kDXtXJ+k7gyXa61H/ho6VSet+Edi6HczNdH62536l9f7sYdU MPryO9tmQtpB/bKdEyOtXn6EgivQAUM4ByzeF1CZR0sIsMxCJGfjSfg/wbR4M8Zd1JCO pakaFZ1weoBKck7w4SonJhAoglSzeYLLUqZ5Kun3gaNhoM6rUWRkQOcgVaxSXx0Iupt/ yjUHhatY90YnjL9/tm6lhcY4yb2QAyFJQWbZMfAGGXCRVz1x936cm6kvVW/om7lyOn/i djYw== X-Gm-Message-State: AOAM531pXYWWRv4z9DWrgWIBw8p8j1T2xeLXHOqzT6GNdOvlcEfp7jw5 pi+uAVxQIBCaKdCMhkXYddCaYNJV0ko= X-Google-Smtp-Source: ABdhPJzGFOEAwshWEDMYg1M7Qu/o9vBfmmSMKpM9Z7ihikfjPt3D/VC/u1xOummSRiE20uVC391ECA== X-Received: by 2002:a05:6000:10d2:b0:1e3:e061:1172 with SMTP id b18-20020a05600010d200b001e3e0611172mr4555986wrx.195.1645766602395; Thu, 24 Feb 2022 21:23:22 -0800 (PST) Received: from [127.0.0.1] ([13.74.141.28]) by smtp.gmail.com with ESMTPSA id ay30-20020a05600c1e1e00b0037fa9762d50sm4907114wmb.12.2022.02.24.21.23.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 24 Feb 2022 21:23:21 -0800 (PST) Message-Id: In-Reply-To: References: Date: Fri, 25 Feb 2022 05:23:19 +0000 Subject: [PATCH v4 2/2] parse-options.c: add style checks for usage-strings Fcc: Sent MIME-Version: 1.0 To: git@vger.kernel.org Cc: =?utf-8?b?w4Z2YXIgQXJuZmrDtnLDsA==?= Bjarmason , Johannes Schindelin , Julia Lawall , Eric Sunshine , Junio C Hamano , Abhradeep Chakraborty , Abhradeep Chakraborty Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org From: Abhradeep Chakraborty From: Abhradeep Chakraborty `parse-options.c` doesn't check if the usage strings for option flags are following the style guide or not. Style convention says, usage strings should not start with capital letter (unless needed) and it should not end with `.`. Add checks to the `parse_options_check()` function to check usage strings against the style convention. Signed-off-by: Abhradeep Chakraborty --- parse-options.c | 11 +++++++++++ t/t1502-rev-parse-parseopt.sh | 4 ++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/parse-options.c b/parse-options.c index 2437ad3bcdd..acd9ddbb372 100644 --- a/parse-options.c +++ b/parse-options.c @@ -492,6 +492,17 @@ static void parse_options_check(const struct option *opts) default: ; /* ok. (usually accepts an argument) */ } + + // OPTION_GROUP should be ignored + // if the first two characters of the help string are uppercase, then assume it is an + // acronym (i.e. "GPG") or special name (i.e. "HEAD"), thus allowed. + // else assume the usage string is violating the style convention and throw error. + if (opts->type != OPTION_GROUP && opts->help && + opts->help[0] && isupper(opts->help[0]) && + !(opts->help[1] && isupper(opts->help[1]))) + err |= optbug(opts, xstrfmt("help should not start with capital letter unless needed: %s", opts->help)); + if (opts->help && !ends_with(opts->help, "...") && ends_with(opts->help, ".")) + err |= optbug(opts, xstrfmt("help should not end with a dot: %s", opts->help)); if (opts->argh && strcspn(opts->argh, " _") != strlen(opts->argh)) err |= optbug(opts, "multi-word argh should use dash to separate words"); diff --git a/t/t1502-rev-parse-parseopt.sh b/t/t1502-rev-parse-parseopt.sh index 284fe18e726..2a07e130b96 100755 --- a/t/t1502-rev-parse-parseopt.sh +++ b/t/t1502-rev-parse-parseopt.sh @@ -53,7 +53,7 @@ test_expect_success 'setup optionspec-only-hidden-switches' ' | |some-command does foo and bar! |-- -|hidden1* A hidden switch +|hidden1* a hidden switch EOF ' @@ -131,7 +131,7 @@ test_expect_success 'test --parseopt help-all output hidden switches' ' | | some-command does foo and bar! | -| --hidden1 A hidden switch +| --hidden1 a hidden switch | |EOF END_EXPECT