Stefan Beller <sbeller@xxxxxxxxxx> writes: > This fixes a regression introduced in 22e612731b5 (submodule: port s/22e/2e/, I think. > 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@xxxxxxxx> > Signed-off-by: Stefan Beller <sbeller@xxxxxxxxxx> > --- > 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. > > 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)