From: "Sean Allred via GitGitGadget" <gitgitgadget@gmail.com>
To: git@vger.kernel.org
Cc: Sean Allred <code@seanallred.com>
Subject: [PATCH v2 0/2] Improve consistency of git-var
Date: Fri, 25 Nov 2022 16:52:29 +0000 [thread overview]
Message-ID: <pull.1434.v2.git.1669395151.gitgitgadget@gmail.com> (raw)
In-Reply-To: <pull.1434.git.1669321369.gitgitgadget@gmail.com>
This patch series makes a few distinct improvements to git-var to support
the change to git_editor() prompted [here][1] and ultimately support that
patch to introduce GIT_SEQUENCE_EDITOR as a handled logical variable.
Changes since v1:
* Fix a whitespace issue in var.c:editor() (where I have my editor
configured to use spaces instead of tabs; whoops)
* Squash this down to two patches as suggested. I typically organize my
commits to make it clear they don't actively break something, but I can
certainly see the value in organizing them differently when there is
already an extremely robust body of automated tests like there is for
Git.
* Rebased on current main; no conflicts.
Sean Allred (2):
var: do not print usage() with a correct invocation
var: allow GIT_EDITOR to return null
Documentation/git-var.txt | 3 +-
builtin/var.c | 26 +++++++--------
t/t0007-git-var.sh | 69 +++++++++++++++++++++++++++++++++++++++
3 files changed, 83 insertions(+), 15 deletions(-)
base-commit: c000d916380bb59db69c78546928eadd076b9c7d
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1434%2Fvermiculus%2Fsa%2Fvar-improvements-v2
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1434/vermiculus/sa/var-improvements-v2
Pull-Request: https://github.com/gitgitgadget/git/pull/1434
Range-diff vs v1:
1: d5f571f0bb3 ! 1: a7ff842a3e8 var: do not print usage() with a correct invocation
@@ builtin/var.c: static void list_vars(void)
printf("%s=%s\n", ptr->name, val);
}
+-static const char *read_var(const char *var)
+static const struct git_var *get_git_var(const char *var)
-+{
-+ struct git_var *ptr;
-+ for (ptr = git_vars; ptr->read; ptr++) {
-+ if (strcmp(var, ptr->name) == 0) {
-+ return ptr;
-+ }
-+ }
-+ return NULL;
-+}
-+
- static const char *read_var(const char *var)
{
struct git_var *ptr;
+- const char *val;
+- val = NULL;
+ for (ptr = git_vars; ptr->read; ptr++) {
+ if (strcmp(var, ptr->name) == 0) {
+- val = ptr->read(IDENT_STRICT);
+- break;
++ return ptr;
+ }
+ }
+- return val;
++ return NULL;
+ }
+
+ static int show_config(const char *var, const char *value, void *cb)
@@ builtin/var.c: static int show_config(const char *var, const char *value, void *cb)
int cmd_var(int argc, const char **argv, const char *prefix)
@@ builtin/var.c: int cmd_var(int argc, const char **argv, const char *prefix)
return 0;
}
git_config(git_default_config, NULL);
+- val = read_var(argv[1]);
+- if (!val)
+
+ git_var = get_git_var(argv[1]);
+ if (!git_var)
-+ usage(var_usage);
-+
- val = read_var(argv[1]);
- if (!val)
-- usage(var_usage);
-+ return 1;
+ usage(var_usage);
++ val = git_var->read(IDENT_STRICT);
++ if (!val)
++ return 1;
++
printf("%s\n", val);
+ return 0;
2: 905b109b458 < -: ----------- var: remove read_var
3: 8d49a718038 ! 2: 427cb7b55ac var: allow GIT_EDITOR to return null
@@ builtin/var.c: static const char var_usage[] = "git var (-l | <variable>)";
- die("Terminal is dumb, but EDITOR unset");
-
- return pgm;
-+ return git_editor();
++ return git_editor();
}
static const char *pager(int flag)
--
gitgitgadget
next prev parent reply other threads:[~2022-11-25 16:52 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-24 20:22 [PATCH 0/3] Improve consistency of git-var Sean Allred via GitGitGadget
2022-11-24 20:22 ` [PATCH 1/3] var: do not print usage() with a correct invocation Sean Allred via GitGitGadget
2022-11-24 20:22 ` [PATCH 2/3] var: remove read_var Sean Allred via GitGitGadget
2022-11-25 5:48 ` Junio C Hamano
2022-11-24 20:22 ` [PATCH 3/3] var: allow GIT_EDITOR to return null Sean Allred via GitGitGadget
2022-11-25 16:52 ` Sean Allred via GitGitGadget [this message]
2022-11-25 16:52 ` [PATCH v2 1/2] var: do not print usage() with a correct invocation Sean Allred via GitGitGadget
2022-11-25 22:45 ` Ævar Arnfjörð Bjarmason
2022-11-26 13:19 ` Sean Allred
2022-11-25 16:52 ` [PATCH v2 2/2] var: allow GIT_EDITOR to return null Sean Allred via GitGitGadget
2022-11-25 22:48 ` Ævar Arnfjörð Bjarmason
2022-11-26 13:54 ` Sean Allred
2022-11-26 14:17 ` [PATCH v3 0/2] Improve consistency of git-var Sean Allred via GitGitGadget
2022-11-26 14:17 ` [PATCH v3 1/2] var: do not print usage() with a correct invocation Sean Allred via GitGitGadget
2022-11-26 14:17 ` [PATCH v3 2/2] var: allow GIT_EDITOR to return null Sean Allred via GitGitGadget
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=pull.1434.v2.git.1669395151.gitgitgadget@gmail.com \
--to=gitgitgadget@gmail.com \
--cc=code@seanallred.com \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.