Skip to content

builtin/config.c: combined series '--type', '--default'

Taylor Blau git 2 versions In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v2 Latest5 patches 3 repliesIn review
  2. v15 patches 5 repliesSuperseded

Patches in v2 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/5builtin/config.c: treat type specifiers singularlybuiltin/config.c t/t1300-repo-config.sh+33 -270 replies
2/5builtin/config.c: support `--type=<type>` as preferred alias for `--<type>`Documentation/git-config.txt builtin/config.c t/t1300-repo-config.sh+153 -402 replies
3/5builtin/config: introduce `--default`Documentation/git-config.txt builtin/config.c t/t1310-config-default.sh+58 -00 replies
4/5config.c: introduce 'git_config_color' to parse ANSI colorsconfig.c config.h+11 -00 replies
5/5builtin/config: introduce `color` type specifierDocumentation/git-config.txt builtin/config.c t/t1300-repo-config.sh+58 -01 reply

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v2 yet.

Read the v2 thread

Cover letter [PATCH v2 0/5] builtin/config.c: combined series '--type', '--default'

Hi,

Here is an amended version of my combined series to add '--type' and '--default'. My apologies for the re-roll, I thought that I had looked everything over closely enough :-).

Since last time:

* Correct an obviously-wrong assignment into '*to_type' [1]. I have moved both of these assignments into the top-line declaration of those variables.

* Re-add a removed hunk to support '--type=color' correctly [2].

Thanks,
Taylor

[1]: https://public-inbox.org/git/[email protected]
[2]: https://public-inbox.org/git/[email protected]

Taylor Blau (5):
builtin/config.c: treat type specifiers singularly builtin/config.c: support --type=<type> as preferred alias for

    `--<type>`

builtin/config: introduce --default
config.c: introduce 'git_config_color' to parse ANSI colors builtin/config: introduce color type specifier

 Documentation/git-config.txt |  81 ++++++++++++--------
 builtin/config.c             | 143 ++++++++++++++++++++++++++++-------
 config.c                     |  10 +++
 config.h                     |   1 +
 t/t1300-repo-config.sh       |  93 +++++++++++++++++++++++
 t/t1310-config-default.sh    |  36 +++++++++
 6 files changed, 305 insertions(+), 59 deletions(-)
 create mode 100755 t/t1310-config-default.sh

Inter-diff (since v1):

builtin/config.c +8 -8
index ec5c11293b..bb62816bba 100644
@@ -72,19 +72,18 @@ static struct option builtin_config_options[];
 static int option_parse_type(const struct option *opt, const char *arg,
 			     int unset)
 {
-	int new_type;
-	int *to_type;
+	/*
+	 * To support '--<type>' style flags, begin with new_type equal to
+	 * opt->defval.
+	 */
+	int new_type = opt->defval;
+	int *to_type = opt->value;
 
 	if (unset) {
 		*((int *) opt->value) = 0;
 		return 0;
 	}
 
-	/*
-	 * To support '--<type>' style flags, begin with new_type equal to
-	 * opt->defval.
-	 */
-	new_type = opt->defval;
 	if (!new_type) {
 		if (!strcmp(arg, "bool"))
 			new_type = TYPE_BOOL;
@@ -96,11 +95,12 @@ static int option_parse_type(const struct option *opt, const char *arg,
 			new_type = TYPE_PATH;
 		else if (!strcmp(arg, "expiry-date"))
 			new_type = TYPE_EXPIRY_DATE;
+		else if (!strcmp(arg, "color"))
+			new_type = TYPE_COLOR;
 		else
 			die(_("unrecognized --type argument, %s"), arg);
 	}
 
-	*to_type = opt->value;
 	if (*to_type && *to_type != new_type) {
 		/*
 		 * Complain when there is a new type not equal to the old type.

--
2.17.0