diff --git a/submodule.c b/submodule.c
index b8b0326c5090f545ebaf5e26146588e7009eed01..11de09ae97e09fa1146e0f567b7c360ad6ed4cb8 100644 (file)
--- a/submodule.c
+++ b/submodule.c
const char *argv[] = {NULL, NULL, "--not", "--all", NULL};
int argc = ARRAY_SIZE(argv) - 1;
+ /* No need to check if there are no submodules configured */
+ if (!config_name_for_path.nr)
+ return;
+
init_revisions(&rev, NULL);
argv[1] = xstrdup(sha1_to_hex(new_sha1));
setup_revisions(argc, argv, &rev, NULL);
while (parent) {
struct diff_options diff_opts;
diff_setup(&diff_opts);
+ DIFF_OPT_SET(&diff_opts, RECURSIVE);
diff_opts.output_format |= DIFF_FORMAT_CALLBACK;
diff_opts.format_callback = submodule_collect_changed_cb;
if (diff_setup_done(&diff_opts) < 0)