Re: [GSoC PATCH] submodule: warn on valueless active config
From: D. Ben Knoble <hidden>
Date: 2026-08-14 19:07:51
On Fri, Aug 14, 2026 at 2:05 PM Tilak Raaz [off-list ref] wrote:
quoted hunk ↗ jump to hunk
On Fri, Aug 14, 2026 Weijie Yuan [off-list ref] wrote:quoted
Thanks! However, my suggestion is that it would be better to place your patch in the main body of the email text rather than in the attachment. Please take a look at Documentation/SubmittingPatches And it also seems that the automated program 'b4' is unable to recognize your patch, which may make the development process less convenient for the developers and the maintainer.Hi Weijie, Thank you for the quick feedback and for pointing me to the documentation! I apologize for using an attachment; I am still getting my mailing list workflow configured. Here is the patch provided inline as plain text so that `b4` can parse it correctly: From 08a2f244efab6e4cf21638d87a721ca664ed9433 Mon Sep 17 00:00:00 2001 From: tilak-raaz <redacted> Date: Fri, 14 Aug 2026 22:50:11 +0530 Subject: [GSoC PATCH] submodule: warn on valueless active config The config parser previously threw a hard error if 'submodule.active' was provided without a value, causing commands to abort. Swap repo_config_get_string_multi() to repo_config_get_value_multi() to parse valueless keys safely, and emit a warning to the user rather than crashing. This resolves a NEEDSWORK comment in submodule.c. Signed-off-by: tilak-raaz <redacted> --- submodule.c | 16 ++++++++-------- t/t7400-submodule-basic.sh | 11 +++++++++++ 2 files changed, 19 insertions(+), 8 deletions(-)diff --git a/submodule.c b/submodule.c index 5c92575888..b709c429ba 100644 --- a/submodule.c +++ b/submodule.c@@ -231,11 +231,7 @@ intoption_parse_recurse_submodules_worktree_updater(const struct option *opt, /* * Determine if a submodule has been initialized at a given 'path' */ -/* - * NEEDSWORK: Emit a warning if submodule.active exists, but is valueless, - * ie, the config looks like: "[submodule] active\n". - * Since that is an invalid pathspec, we should inform the user. - */ + int is_tree_submodule_active(struct repository *repo, const struct object_id *treeish_name, const char *path)@@ -261,14 +257,18 @@ int is_tree_submodule_active(struct repository *repo, free(key); /* submodule.active is set */ - if (!repo_config_get_string_multi(repo, "submodule.active", &sl)) { + if (!repo_config_get_value_multi(repo, "submodule.active", &sl)) { struct pathspec ps; struct strvec args = STRVEC_INIT; const struct string_list_item *item; for_each_string_list_item(item, sl) { - strvec_push(&args, item->string); - }
It's hard to tell, but I think (depending on _how_ you sent this patch with GMail) the indentation has become corrupted, and the patch won't apply. Give the tips in git-send-email.io a try; especially with GMail, I've found the safest way to send patches is with git-send-email. (I reply to conversations from just about any mail client, though.)