git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Glen Choo <chooglen@google.com>
To: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>, git@vger.kernel.org
Cc: "Junio C Hamano" <gitster@pobox.com>,
	"Atharva Raykar" <raykar.ath@gmail.com>,
	"Prathamesh Chavan" <pc44800@gmail.com>,
	"Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
Subject: Re: [PATCH 06/20] submodule--helper: move "is-active" to a test-tool
Date: Fri, 29 Jul 2022 14:45:19 -0700	[thread overview]
Message-ID: <kl6lv8rfr3tc.fsf@chooglen-macbookpro.roam.corp.google.com> (raw)
In-Reply-To: <patch-06.20-8e4d2b09d56-20220728T161116Z-avarab@gmail.com>

Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:

> Create a new "test-tool submodule" and move the "is-active" subcommand
> over to it. It was added in 5c2bd8b77ae (submodule--helper: add
> is-active subcommand, 2017-03-16), since
> a452128a36c (submodule--helper: introduce add-config subcommand,
> 2021-08-06) it hasn't been used by git-submodule.sh.
>
> Since we're creating a command dispatch similar to test-tool.c itself
> let's split out the "struct test_cmd" into a new test-tool-utils.h,
> which both this new code and test-tool.c itself can use.
>
> Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
> ---
>  Makefile                       |  1 +
>  builtin/submodule--helper.c    |  9 ------
>  t/helper/test-submodule.c      | 58 ++++++++++++++++++++++++++++++++++
>  t/helper/test-tool-utils.h     |  9 ++++++
>  t/helper/test-tool.c           |  7 ++--
>  t/helper/test-tool.h           |  1 +
>  t/t7413-submodule-is-active.sh | 32 +++++++++----------
>  7 files changed, 87 insertions(+), 30 deletions(-)
>  create mode 100644 t/helper/test-submodule.c
>  create mode 100644 t/helper/test-tool-utils.h
>
> diff --git a/Makefile b/Makefile
> index 1624471badc..ad7fbd36885 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -785,6 +785,7 @@ TEST_BUILTINS_OBJS += test-strcmp-offset.o
>  TEST_BUILTINS_OBJS += test-string-list.o
>  TEST_BUILTINS_OBJS += test-submodule-config.o
>  TEST_BUILTINS_OBJS += test-submodule-nested-repo-config.o
> +TEST_BUILTINS_OBJS += test-submodule.o
>  TEST_BUILTINS_OBJS += test-subprocess.o
>  TEST_BUILTINS_OBJS += test-trace2.o
>  TEST_BUILTINS_OBJS += test-urlmatch-normalization.o
> diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c
> index 47ed24c6a60..b2fc732b5d8 100644
> --- a/builtin/submodule--helper.c
> +++ b/builtin/submodule--helper.c
> @@ -2728,14 +2728,6 @@ static int absorb_git_dirs(int argc, const char **argv, const char *prefix)
>  	return 0;
>  }
>  
> -static int is_active(int argc, const char **argv, const char *prefix)
> -{
> -	if (argc != 2)
> -		die("submodule--helper is-active takes exactly 1 argument");
> -
> -	return !is_submodule_active(the_repository, argv[1]);
> -}
> -
>  /*
>   * Exit non-zero if any of the submodule names given on the command line is
>   * invalid. If no names are given, filter stdin to print only valid names
> @@ -3313,7 +3305,6 @@ static struct cmd_struct commands[] = {
>  	{"summary", module_summary, 0},
>  	{"push-check", push_check, 0},
>  	{"absorbgitdirs", absorb_git_dirs, SUPPORT_SUPER_PREFIX},
> -	{"is-active", is_active, 0},
>  	{"check-name", check_name, 0},
>  	{"config", module_config, 0},
>  	{"set-url", module_set_url, 0},
> diff --git a/t/helper/test-submodule.c b/t/helper/test-submodule.c
> new file mode 100644
> index 00000000000..494c6558d9f
> --- /dev/null
> +++ b/t/helper/test-submodule.c
> @@ -0,0 +1,58 @@
> +#include "test-tool.h"
> +#include "test-tool-utils.h"
> +#include "cache.h"
> +#include "parse-options.h"
> +#include "submodule.h"
> +
> +#define TEST_TOOL_IS_ACTIVE_USAGE \
> +	"test-tool submodule is-active <name>"
> +static const char *submodule_is_active_usage[] = {
> +	TEST_TOOL_IS_ACTIVE_USAGE,
> +	NULL
> +};
> +
> +static const char *submodule_usage[] = {
> +	TEST_TOOL_IS_ACTIVE_USAGE,
> +	NULL
> +};
> +
> +static int cmd__submodule_is_active(int argc, const char **argv)
> +{
> +	struct option options[] = {
> +		OPT_END()
> +	};
> +	argc = parse_options(argc, argv, "test-tools", options,
> +			     submodule_is_active_usage, 0);
> +	if (argc != 1)
> +		usage_with_options(submodule_is_active_usage, options);
> +
> +	setup_git_directory();
> +
> +	return !is_submodule_active(the_repository, argv[0]);
> +}
> +
> +static struct test_cmd cmds[] = {
> +	{ "is-active", cmd__submodule_is_active },
> +};
> +
> +int cmd__submodule(int argc, const char **argv)
> +{
> +	struct option options[] = {
> +		OPT_END()
> +	};
> +	size_t i;
> +
> +	argc = parse_options(argc, argv, "test-tools", options, submodule_usage,
> +			     PARSE_OPT_STOP_AT_NON_OPTION);
> +	if (argc < 1)
> +		usage_with_options(submodule_usage, options);
> +
> +	for (i = 0; i < ARRAY_SIZE(cmds); i++)
> +		if (!strcmp(cmds[i].name, argv[0]))
> +			return cmds[i].fn(argc, argv);
> +
> +	usage_msg_optf("unknown subcommand '%s'", submodule_usage, options,
> +		       argv[0]);
> +
> +	return 0;
> +}
> diff --git a/t/helper/test-tool-utils.h b/t/helper/test-tool-utils.h
> new file mode 100644
> index 00000000000..6a0e5e0074f
> --- /dev/null
> +++ b/t/helper/test-tool-utils.h
> @@ -0,0 +1,9 @@
> +#ifndef TEST_TOOL_UTILS_H
> +#define TEST_TOOL_UTILS_H
> +
> +struct test_cmd {
> +	const char *name;
> +	int (*fn)(int argc, const char **argv);
> +};
> +
> +#endif
> diff --git a/t/helper/test-tool.c b/t/helper/test-tool.c
> index 318fdbab0c3..7a6a8b88a91 100644
> --- a/t/helper/test-tool.c
> +++ b/t/helper/test-tool.c
> @@ -1,5 +1,6 @@
>  #include "git-compat-util.h"
>  #include "test-tool.h"
> +#include "test-tool-utils.h"
>  #include "trace2.h"
>  #include "parse-options.h"
>  
> @@ -8,11 +9,6 @@ static const char * const test_tool_usage[] = {
>  	NULL
>  };
>  
> -struct test_cmd {
> -	const char *name;
> -	int (*fn)(int argc, const char **argv);
> -};
> -
>  static struct test_cmd cmds[] = {
>  	{ "advise", cmd__advise_if_enabled },
>  	{ "bitmap", cmd__bitmap },
> @@ -78,6 +74,7 @@ static struct test_cmd cmds[] = {
>  	{ "simple-ipc", cmd__simple_ipc },
>  	{ "strcmp-offset", cmd__strcmp_offset },
>  	{ "string-list", cmd__string_list },
> +	{ "submodule", cmd__submodule },
>  	{ "submodule-config", cmd__submodule_config },
>  	{ "submodule-nested-repo-config", cmd__submodule_nested_repo_config },
>  	{ "subprocess", cmd__subprocess },
> diff --git a/t/helper/test-tool.h b/t/helper/test-tool.h
> index bb799271631..5f4f69dee81 100644
> --- a/t/helper/test-tool.h
> +++ b/t/helper/test-tool.h
> @@ -68,6 +68,7 @@ int cmd__sigchain(int argc, const char **argv);
>  int cmd__simple_ipc(int argc, const char **argv);
>  int cmd__strcmp_offset(int argc, const char **argv);
>  int cmd__string_list(int argc, const char **argv);
> +int cmd__submodule(int argc, const char **argv);
>  int cmd__submodule_config(int argc, const char **argv);
>  int cmd__submodule_nested_repo_config(int argc, const char **argv);
>  int cmd__subprocess(int argc, const char **argv);

I'm underqualified to comment on structure of test-tool, so I won't
comment on that, but it makes sense to convert code that is only used in
tests into test helpers.

That said, don't we only use "git submodule--helper is-active" inside
the tests for "git submodule--helper is-active"? If so, I'd think the
right thing to do is to just get rid of the code altogether.

The exception IMO, is if we think that we want a kind of "unit test"
that checks our logic for determining if a submodule is active. I don't
really think that's necessary, but if so, we probably want to update the
description of t7413 to describe that intent.

> diff --git a/t/t7413-submodule-is-active.sh b/t/t7413-submodule-is-active.sh
> index c8e7e983317..9ead083371a 100755
> --- a/t/t7413-submodule-is-active.sh
> +++ b/t/t7413-submodule-is-active.sh
> @@ -1,8 +1,8 @@
>  #!/bin/sh
>  
> -test_description='Test submodule--helper is-active
> +test_description='Test with test-tool submodule is-active
>  
> -This test verifies that `git submodue--helper is-active` correctly identifies
> +This test verifies that `test-tool submodule is-active` correctly identifies
>  submodules which are "active" and interesting to the user.
>  '
>  
> @@ -25,13 +25,13 @@ test_expect_success 'setup' '
>  '
>  
>  test_expect_success 'is-active works with urls' '
> -	git -C super submodule--helper is-active sub1 &&
> -	git -C super submodule--helper is-active sub2 &&
> +	test-tool -C super submodule is-active sub1 &&
> +	test-tool -C super submodule is-active sub2 &&
>  
>  	git -C super config --unset submodule.sub1.URL &&
> -	test_must_fail git -C super submodule--helper is-active sub1 &&
> +	test_must_fail test-tool -C super submodule is-active sub1 &&
>  	git -C super config submodule.sub1.URL ../sub &&
> -	git -C super submodule--helper is-active sub1
> +	test-tool -C super submodule is-active sub1
>  '
>  
>  test_expect_success 'is-active works with submodule.<name>.active config' '
> @@ -39,11 +39,11 @@ test_expect_success 'is-active works with submodule.<name>.active config' '
>  	test_when_finished "git -C super config submodule.sub1.URL ../sub" &&
>  
>  	git -C super config --bool submodule.sub1.active "false" &&
> -	test_must_fail git -C super submodule--helper is-active sub1 &&
> +	test_must_fail test-tool -C super submodule is-active sub1 &&
>  
>  	git -C super config --bool submodule.sub1.active "true" &&
>  	git -C super config --unset submodule.sub1.URL &&
> -	git -C super submodule--helper is-active sub1
> +	test-tool -C super submodule is-active sub1
>  '
>  
>  test_expect_success 'is-active works with basic submodule.active config' '
> @@ -53,17 +53,17 @@ test_expect_success 'is-active works with basic submodule.active config' '
>  	git -C super config --add submodule.active "." &&
>  	git -C super config --unset submodule.sub1.URL &&
>  
> -	git -C super submodule--helper is-active sub1 &&
> -	git -C super submodule--helper is-active sub2
> +	test-tool -C super submodule is-active sub1 &&
> +	test-tool -C super submodule is-active sub2
>  '
>  
>  test_expect_success 'is-active correctly works with paths that are not submodules' '
>  	test_when_finished "git -C super config --unset-all submodule.active" &&
>  
> -	test_must_fail git -C super submodule--helper is-active not-a-submodule &&
> +	test_must_fail test-tool -C super submodule is-active not-a-submodule &&
>  
>  	git -C super config --add submodule.active "." &&
> -	test_must_fail git -C super submodule--helper is-active not-a-submodule
> +	test_must_fail test-tool -C super submodule is-active not-a-submodule
>  '
>  
>  test_expect_success 'is-active works with exclusions in submodule.active config' '
> @@ -72,8 +72,8 @@ test_expect_success 'is-active works with exclusions in submodule.active config'
>  	git -C super config --add submodule.active "." &&
>  	git -C super config --add submodule.active ":(exclude)sub1" &&
>  
> -	test_must_fail git -C super submodule--helper is-active sub1 &&
> -	git -C super submodule--helper is-active sub2
> +	test_must_fail test-tool -C super submodule is-active sub1 &&
> +	test-tool -C super submodule is-active sub2
>  '
>  
>  test_expect_success 'is-active with submodule.active and submodule.<name>.active' '
> @@ -85,8 +85,8 @@ test_expect_success 'is-active with submodule.active and submodule.<name>.active
>  	git -C super config --bool submodule.sub1.active "false" &&
>  	git -C super config --bool submodule.sub2.active "true" &&
>  
> -	test_must_fail git -C super submodule--helper is-active sub1 &&
> -	git -C super submodule--helper is-active sub2
> +	test_must_fail test-tool -C super submodule is-active sub1 &&
> +	test-tool -C super submodule is-active sub2
>  '
>  
>  test_expect_success 'is-active, submodule.active and submodule add' '
> -- 
> 2.37.1.1167.g38fda70d8c4

  reply	other threads:[~2022-07-29 21:45 UTC|newest]

Thread overview: 142+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-28 16:16 [PATCH 00/20] submodule--helper: add tests, rm dead code, refactor & leak prep Ævar Arnfjörð Bjarmason
2022-07-28 16:16 ` [PATCH 01/20] submodule tests: test usage behavior Ævar Arnfjörð Bjarmason
2022-07-29 20:30   ` Glen Choo
2022-07-28 16:16 ` [PATCH 02/20] submodule tests: test for "add <repository> <abs-path>" Ævar Arnfjörð Bjarmason
2022-07-28 16:16 ` [PATCH 03/20] submodule--helper: remove unused "name" helper Ævar Arnfjörð Bjarmason
2022-07-28 16:16 ` [PATCH 04/20] submodule--helper: remove unused "list" helper Ævar Arnfjörð Bjarmason
2022-07-29 21:31   ` Glen Choo
2022-07-28 16:16 ` [PATCH 05/20] test-tool submodule-config: remove unused "--url" handling Ævar Arnfjörð Bjarmason
2022-07-28 16:16 ` [PATCH 06/20] submodule--helper: move "is-active" to a test-tool Ævar Arnfjörð Bjarmason
2022-07-29 21:45   ` Glen Choo [this message]
2022-07-28 16:16 ` [PATCH 07/20] submodule--helper: move "check-name" " Ævar Arnfjörð Bjarmason
2022-07-29 21:55   ` Glen Choo
2022-07-28 16:16 ` [PATCH 08/20] submodule--helper: move "resolve-relative-url-test" " Ævar Arnfjörð Bjarmason
2022-07-29 21:58   ` Glen Choo
2022-07-28 16:16 ` [PATCH 09/20] submodule--helper style: don't separate declared variables with \n\n Ævar Arnfjörð Bjarmason
2022-07-28 16:16 ` [PATCH 10/20] submodule--helper style: add \n\n after variable declarations Ævar Arnfjörð Bjarmason
2022-07-28 16:16 ` [PATCH 11/20] submodule--helper: replace memset() with { 0 }-initialization Ævar Arnfjörð Bjarmason
2022-07-28 16:16 ` [PATCH 12/20] submodule--helper: convert a strbuf_detach() to xstrfmt() Ævar Arnfjörð Bjarmason
2022-07-28 16:16 ` [PATCH 13/20] submodule--helper: stop conflating "sb" in clone_submodule() Ævar Arnfjörð Bjarmason
2022-07-29 17:08   ` Glen Choo
2022-07-28 16:16 ` [PATCH 14/20] submodule--helper: pass a "const struct module_clone_data" to clone_submodule() Ævar Arnfjörð Bjarmason
2022-07-29 22:09   ` Glen Choo
2022-08-01 15:05     ` Ævar Arnfjörð Bjarmason
2022-07-28 16:17 ` [PATCH 15/20] submodule--helper: add "const" to copy of "update_data" Ævar Arnfjörð Bjarmason
2022-07-28 16:17 ` [PATCH 16/20] submodule--helper: refactor "errmsg_str" to be a "struct strbuf" Ævar Arnfjörð Bjarmason
2022-07-28 16:17 ` [PATCH 17/20] submodule--helper: rename "int res" to "int ret" Ævar Arnfjörð Bjarmason
2022-07-28 16:17 ` [PATCH 18/20] submodule--helper: add skeleton "goto cleanup" to update_submodule() Ævar Arnfjörð Bjarmason
2022-07-28 16:17 ` [PATCH 19/20] submodule--helper: don't exit() on failure, return Ævar Arnfjörð Bjarmason
2022-07-29 22:23   ` Glen Choo
2022-07-28 16:17 ` [PATCH 20/20] submodule--helper: fix bad config API usage Ævar Arnfjörð Bjarmason
2022-07-29 22:52 ` [PATCH 00/20] submodule--helper: add tests, rm dead code, refactor & leak prep Glen Choo
2022-08-02 15:45 ` [PATCH v2 00/28] " Ævar Arnfjörð Bjarmason
2022-08-02 15:45   ` [PATCH v2 01/28] submodule tests: test usage behavior Ævar Arnfjörð Bjarmason
2022-08-02 22:30     ` Glen Choo
2022-08-02 15:45   ` [PATCH v2 02/28] submodule tests: test for "add <repository> <abs-path>" Ævar Arnfjörð Bjarmason
2022-08-02 15:45   ` [PATCH v2 03/28] submodule--helper: remove unused "name" helper Ævar Arnfjörð Bjarmason
2022-08-02 15:45   ` [PATCH v2 04/28] submodule--helper: remove unused "list" helper Ævar Arnfjörð Bjarmason
2022-08-02 15:45   ` [PATCH v2 05/28] test-tool submodule-config: remove unused "--url" handling Ævar Arnfjörð Bjarmason
2022-08-02 15:45   ` [PATCH v2 06/28] submodule--helper: move "is-active" to a test-tool Ævar Arnfjörð Bjarmason
2022-08-02 15:45   ` [PATCH v2 07/28] submodule--helper: move "check-name" " Ævar Arnfjörð Bjarmason
2022-08-02 15:45   ` [PATCH v2 08/28] submodule--helper: move "resolve-relative-url-test" " Ævar Arnfjörð Bjarmason
2022-08-02 22:32     ` Glen Choo
2022-08-02 15:45   ` [PATCH v2 09/28] submodule--helper style: don't separate declared variables with \n\n Ævar Arnfjörð Bjarmason
2022-08-02 15:45   ` [PATCH v2 10/28] submodule--helper style: add \n\n after variable declarations Ævar Arnfjörð Bjarmason
2022-08-02 15:45   ` [PATCH v2 11/28] submodule--helper: replace memset() with { 0 }-initialization Ævar Arnfjörð Bjarmason
2022-08-02 15:45   ` [PATCH v2 12/28] submodule--helper: use xstrfmt() in clone_submodule() Ævar Arnfjörð Bjarmason
2022-08-02 15:45   ` [PATCH v2 13/28] submodule--helper: move "sb" in clone_submodule() to its own scope Ævar Arnfjörð Bjarmason
2022-08-02 15:45   ` [PATCH v2 14/28] submodule--helper: pass a "const struct module_clone_data" to clone_submodule() Ævar Arnfjörð Bjarmason
2022-08-02 15:45   ` [PATCH v2 15/28] submodule--helper: add "const" to copy of "update_data" Ævar Arnfjörð Bjarmason
2022-08-02 15:46   ` [PATCH v2 16/28] submodule--helper: refactor "errmsg_str" to be a "struct strbuf" Ævar Arnfjörð Bjarmason
2022-08-02 15:46   ` [PATCH v2 17/28] submodule--helper: don't redundantly check "else if (res)" Ævar Arnfjörð Bjarmason
2022-08-02 15:46   ` [PATCH v2 18/28] submodule--helper: rename "int res" to "int ret" Ævar Arnfjörð Bjarmason
2022-08-02 15:46   ` [PATCH v2 19/28] submodule--helper: return "ret", not "1" from update_submodule() Ævar Arnfjörð Bjarmason
2022-08-02 15:46   ` [PATCH v2 20/28] submodule--helper: add missing braces to "else" arm Ævar Arnfjörð Bjarmason
2022-08-02 15:46   ` [PATCH v2 21/28] submodule--helper: don't call submodule_strategy_to_string() in BUG() Ævar Arnfjörð Bjarmason
2022-08-02 23:08     ` Glen Choo
2022-08-02 15:46   ` [PATCH v2 22/28] submodule--helper: move submodule_strategy_to_string() to only user Ævar Arnfjörð Bjarmason
2022-08-02 23:30     ` Glen Choo
2022-08-03 13:06       ` Ævar Arnfjörð Bjarmason
2022-08-02 15:46   ` [PATCH v2 23/28] submodule--helper: use "code" in run_update_command() Ævar Arnfjörð Bjarmason
2022-08-02 15:46   ` [PATCH v2 24/28] submodule--helper: don't exit() on failure, return Ævar Arnfjörð Bjarmason
2022-08-02 15:46   ` [PATCH v2 25/28] submodule--helper: libify determine_submodule_update_strategy() Ævar Arnfjörð Bjarmason
2022-08-02 15:46   ` [PATCH v2 26/28] submodule--helper: libify "must_die_on_failure" code paths Ævar Arnfjörð Bjarmason
2022-08-03  4:37     ` Glen Choo
2022-08-02 15:46   ` [PATCH v2 27/28] submodule--helper: libify "must_die_on_failure" code paths (for die) Ævar Arnfjörð Bjarmason
2022-08-03  4:32     ` Glen Choo
2022-08-02 15:46   ` [PATCH v2 28/28] submodule--helper: fix bad config API usage Ævar Arnfjörð Bjarmason
2022-08-21 13:57 ` [PATCH v3 00/32] submodule--helper: add tests, rm dead code, refactor & leak prep Ævar Arnfjörð Bjarmason
2022-08-21 13:57   ` [PATCH v3 01/32] submodule tests: test usage behavior Ævar Arnfjörð Bjarmason
2022-08-23 22:42     ` Glen Choo
2022-08-21 13:57   ` [PATCH v3 02/32] submodule tests: test for "add <repository> <abs-path>" Ævar Arnfjörð Bjarmason
2022-08-21 13:57   ` [PATCH v3 03/32] submodule--helper: remove unused "name" helper Ævar Arnfjörð Bjarmason
2022-08-21 13:57   ` [PATCH v3 04/32] submodule--helper: remove unused "list" helper Ævar Arnfjörð Bjarmason
2022-08-21 13:57   ` [PATCH v3 05/32] test-tool submodule-config: remove unused "--url" handling Ævar Arnfjörð Bjarmason
2022-08-21 13:57   ` [PATCH v3 06/32] submodule--helper: move "is-active" to a test-tool Ævar Arnfjörð Bjarmason
2022-08-21 13:57   ` [PATCH v3 07/32] submodule--helper: move "check-name" " Ævar Arnfjörð Bjarmason
2022-08-21 13:57   ` [PATCH v3 08/32] submodule--helper: move "resolve-relative-url-test" " Ævar Arnfjörð Bjarmason
2022-08-21 13:57   ` [PATCH v3 09/32] submodule--helper style: don't separate declared variables with \n\n Ævar Arnfjörð Bjarmason
2022-08-21 13:57   ` [PATCH v3 10/32] submodule--helper style: add \n\n after variable declarations Ævar Arnfjörð Bjarmason
2022-08-21 13:57   ` [PATCH v3 11/32] submodule--helper: replace memset() with { 0 }-initialization Ævar Arnfjörð Bjarmason
2022-08-21 13:57   ` [PATCH v3 12/32] submodule--helper: use xstrfmt() in clone_submodule() Ævar Arnfjörð Bjarmason
2022-08-21 13:57   ` [PATCH v3 13/32] submodule--helper: move "sb" in clone_submodule() to its own scope Ævar Arnfjörð Bjarmason
2022-08-21 13:57   ` [PATCH v3 14/32] submodule--helper: add "const" to passed "module_clone_data" Ævar Arnfjörð Bjarmason
2022-08-21 13:57   ` [PATCH v3 15/32] submodule--helper: add "const" to copy of "update_data" Ævar Arnfjörð Bjarmason
2022-08-21 13:57   ` [PATCH v3 16/32] submodule--helper: refactor "errmsg_str" to be a "struct strbuf" Ævar Arnfjörð Bjarmason
2022-08-21 13:57   ` [PATCH v3 17/32] submodule--helper: don't redundantly check "else if (res)" Ævar Arnfjörð Bjarmason
2022-08-21 16:12     ` Eric Sunshine
2022-08-21 13:57   ` [PATCH v3 18/32] submodule--helper: rename "int res" to "int ret" Ævar Arnfjörð Bjarmason
2022-08-21 13:57   ` [PATCH v3 19/32] submodule--helper: return "ret", not "1" from update_submodule() Ævar Arnfjörð Bjarmason
2022-08-21 13:57   ` [PATCH v3 20/32] submodule--helper: add missing braces to "else" arm Ævar Arnfjörð Bjarmason
2022-08-21 13:57   ` [PATCH v3 21/32] submodule--helper: don't call submodule_strategy_to_string() in BUG() Ævar Arnfjörð Bjarmason
2022-08-21 13:57   ` [PATCH v3 22/32] submodule API: don't handle SM_..{UNSPECIFIED,COMMAND} in to_string() Ævar Arnfjörð Bjarmason
2022-08-21 13:57   ` [PATCH v3 23/32] submodule--helper: use "code" in run_update_command() Ævar Arnfjörð Bjarmason
2022-08-21 13:57   ` [PATCH v3 24/32] submodule--helper: don't exit() on failure, return Ævar Arnfjörð Bjarmason
2022-08-21 13:57   ` [PATCH v3 25/32] submodule--helper: libify determine_submodule_update_strategy() Ævar Arnfjörð Bjarmason
2022-08-21 13:57   ` [PATCH v3 26/32] submodule--helper: libify "must_die_on_failure" code paths Ævar Arnfjörð Bjarmason
2022-08-21 13:57   ` [PATCH v3 27/32] submodule--helper update: don't override 'checkout' exit code Ævar Arnfjörð Bjarmason
2022-08-21 13:57   ` [PATCH v3 28/32] submodule--helper: libify "must_die_on_failure" code paths (for die) Ævar Arnfjörð Bjarmason
2022-08-23 23:27     ` Glen Choo
2022-08-21 13:57   ` [PATCH v3 29/32] submodule--helper: check repo{_submodule,}_init() return values Ævar Arnfjörð Bjarmason
2022-08-23 23:38     ` Glen Choo
2022-08-21 13:57   ` [PATCH v3 30/32] submodule--helper: libify more "die" paths for module_update() Ævar Arnfjörð Bjarmason
2022-08-24  0:07     ` Glen Choo
2022-08-21 13:57   ` [PATCH v3 31/32] submodule--helper: libify even " Ævar Arnfjörð Bjarmason
2022-08-24  0:12     ` Glen Choo
2022-08-21 13:57   ` [PATCH v3 32/32] submodule--helper: fix bad config API usage Ævar Arnfjörð Bjarmason
2022-08-31 23:17   ` [PATCH v4 00/33] submodule--helper: add tests, rm dead code, refactor & leak prep Ævar Arnfjörð Bjarmason
2022-08-31 23:17     ` [PATCH v4 01/33] submodule tests: test usage behavior Ævar Arnfjörð Bjarmason
2022-08-31 23:17     ` [PATCH v4 02/33] submodule tests: test for "add <repository> <abs-path>" Ævar Arnfjörð Bjarmason
2022-08-31 23:17     ` [PATCH v4 03/33] submodule--helper: remove unused "name" helper Ævar Arnfjörð Bjarmason
2022-08-31 23:17     ` [PATCH v4 04/33] submodule--helper: remove unused "list" helper Ævar Arnfjörð Bjarmason
2022-08-31 23:17     ` [PATCH v4 05/33] test-tool submodule-config: remove unused "--url" handling Ævar Arnfjörð Bjarmason
2022-08-31 23:17     ` [PATCH v4 06/33] submodule--helper: move "is-active" to a test-tool Ævar Arnfjörð Bjarmason
2022-08-31 23:17     ` [PATCH v4 07/33] submodule--helper: move "check-name" " Ævar Arnfjörð Bjarmason
2022-08-31 23:17     ` [PATCH v4 08/33] submodule--helper: move "resolve-relative-url-test" " Ævar Arnfjörð Bjarmason
2022-08-31 23:17     ` [PATCH v4 09/33] submodule--helper style: don't separate declared variables with \n\n Ævar Arnfjörð Bjarmason
2022-08-31 23:17     ` [PATCH v4 10/33] submodule--helper style: add \n\n after variable declarations Ævar Arnfjörð Bjarmason
2022-08-31 23:17     ` [PATCH v4 11/33] submodule--helper: replace memset() with { 0 }-initialization Ævar Arnfjörð Bjarmason
2022-08-31 23:17     ` [PATCH v4 12/33] submodule--helper: use xstrfmt() in clone_submodule() Ævar Arnfjörð Bjarmason
2022-08-31 23:17     ` [PATCH v4 13/33] submodule--helper: move "sb" in clone_submodule() to its own scope Ævar Arnfjörð Bjarmason
2022-08-31 23:17     ` [PATCH v4 14/33] submodule--helper: add "const" to passed "module_clone_data" Ævar Arnfjörð Bjarmason
2022-08-31 23:17     ` [PATCH v4 15/33] submodule--helper: add "const" to copy of "update_data" Ævar Arnfjörð Bjarmason
2022-08-31 23:17     ` [PATCH v4 16/33] submodule--helper: add "const" to passed "struct update_data" Ævar Arnfjörð Bjarmason
2022-08-31 23:17     ` [PATCH v4 17/33] submodule--helper: refactor "errmsg_str" to be a "struct strbuf" Ævar Arnfjörð Bjarmason
2022-08-31 23:18     ` [PATCH v4 18/33] submodule--helper: don't redundantly check "else if (res)" Ævar Arnfjörð Bjarmason
2022-08-31 23:18     ` [PATCH v4 19/33] submodule--helper: rename "int res" to "int ret" Ævar Arnfjörð Bjarmason
2022-08-31 23:18     ` [PATCH v4 20/33] submodule--helper: return "ret", not "1" from update_submodule() Ævar Arnfjörð Bjarmason
2022-08-31 23:18     ` [PATCH v4 21/33] submodule--helper: add missing braces to "else" arm Ævar Arnfjörð Bjarmason
2022-08-31 23:18     ` [PATCH v4 22/33] submodule--helper: don't call submodule_strategy_to_string() in BUG() Ævar Arnfjörð Bjarmason
2022-08-31 23:18     ` [PATCH v4 23/33] submodule API: don't handle SM_..{UNSPECIFIED,COMMAND} in to_string() Ævar Arnfjörð Bjarmason
2022-08-31 23:18     ` [PATCH v4 24/33] submodule--helper: use "code" in run_update_command() Ævar Arnfjörð Bjarmason
2022-08-31 23:18     ` [PATCH v4 25/33] submodule--helper: don't exit() on failure, return Ævar Arnfjörð Bjarmason
2022-08-31 23:18     ` [PATCH v4 26/33] submodule--helper: libify determine_submodule_update_strategy() Ævar Arnfjörð Bjarmason
2022-08-31 23:18     ` [PATCH v4 27/33] submodule--helper: libify "must_die_on_failure" code paths Ævar Arnfjörð Bjarmason
2022-08-31 23:18     ` [PATCH v4 28/33] submodule--helper update: don't override 'checkout' exit code Ævar Arnfjörð Bjarmason
2022-08-31 23:18     ` [PATCH v4 29/33] submodule--helper: libify "must_die_on_failure" code paths (for die) Ævar Arnfjörð Bjarmason
2022-08-31 23:18     ` [PATCH v4 30/33] submodule--helper: check repo{_submodule,}_init() return values Ævar Arnfjörð Bjarmason
2022-08-31 23:18     ` [PATCH v4 31/33] submodule--helper: libify more "die" paths for module_update() Ævar Arnfjörð Bjarmason
2022-09-01 20:55       ` Glen Choo
2022-08-31 23:18     ` [PATCH v4 32/33] submodule--helper: libify even " Ævar Arnfjörð Bjarmason
2022-08-31 23:18     ` [PATCH v4 33/33] submodule--helper: fix bad config API usage Ævar Arnfjörð Bjarmason
2022-09-01 20:59     ` [PATCH v4 00/33] submodule--helper: add tests, rm dead code, refactor & leak prep Glen Choo

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=kl6lv8rfr3tc.fsf@chooglen-macbookpro.roam.corp.google.com \
    --to=chooglen@google.com \
    --cc=avarab@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=pc44800@gmail.com \
    --cc=raykar.ath@gmail.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).