Re: [PATCH] submodule deinit: handle non existing pathspecs gracefully
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Mar 28, 2018, 05:06 UTC
- Message-ID
- <xmqq4ll0aiw6.fsf@gitster-ct.c.googlers.com>
- In-Reply-To
- <20180327232824.112539-1-sbeller@google.com>
Stefan Beller <sbeller@google.com> writes:
> This fixes a regression introduced in 22e612731b5 (submodule: port
s/22e/2e/, I think.
Show 10 quoted lines
> submodule subcommand 'deinit' from shell to C, 2018-01-15), when handling > pathspecs that do not exist gracefully. This restores the historic behavior > of reporting the pathspec as unknown and returning instead of reporting a > bug. > > Reported-by: Peter Oberndorfer <kumbayo84@arcor.de> > Signed-off-by: Stefan Beller <sbeller@google.com> > --- > builtin/submodule--helper.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-)
It seems that all the other callersof module-list expect that a negative return from the function is a normal "nothing to do" condition and returns 1, and this patch makes the oddball "deinit" do the same.
Sounds good. Will queue.
Thanks.
Show 14 quoted lines
>
> diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c
> index ee020d4749..6ba8587b6d 100644
> --- a/builtin/submodule--helper.c
> +++ b/builtin/submodule--helper.c
> @@ -1042,7 +1042,7 @@ static int module_deinit(int argc, const char **argv, const char *prefix)
> die(_("Use '--all' if you really want to deinitialize all submodules"));
>
> if (module_list_compute(argc, argv, prefix, &pathspec, &list) < 0)
> - BUG("module_list_compute should not choke on empty pathspec");
> + return 1;
>
> info.prefix = prefix;
> if (quiet)