git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [GSoC PATCH] submodule: warn on valueless active config

From
D. Ben Knoble <ben.knoble@gmail.com>
Date
Aug 14, 2026, 19:07 UTC
Message-ID
<CALnO6CCDQBWS7dP7CZSbKE3f8rw4x=NAJhGyE7HCJRjJq_2dEA@mail.gmail.com>
In-Reply-To
<CABB4Jh1fUXKNn483FjD2S6U4cYVMEP6z+fjWMi8XRT+NQdNnYw@mail.gmail.com>
On Fri, Aug 14, 2026 at 2:05 PM Tilak Raaz <raaztilak07@gmail.com> wrote:
Show 73 quoted lines
>
> On Fri, Aug 14, 2026 Weijie Yuan <wy@wyuan.org> wrote:
> > 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 <raaztilak07@gmail.com>
> 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 <raaztilak07@gmail.com>
> ---
>  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 @@ int
> option_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.)

Previous: Tilak RaazNext: Junio C Hamano
Message 4 of 7 in “submodule: warn on valueless active config”
  1. submodule: warn on valueless active configTilak Raaz, Aug 14, 2026
  2. Weijie YuanAug 14, 2026
  3. Tilak RaazAug 14, 2026
  4. D. Ben KnobleAug 14, 2026
  5. Junio C HamanoAug 14, 2026
  6. submodule: warn on valueless active configtilak-raaz, Aug 14, 2026
  7. Junio C HamanoAug 14, 2026

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.