diff --git a/builtin/fetch.c b/builtin/fetch.c index c555836937..76a4d14f57 100644 --- a/builtin/fetch.c +++ b/builtin/fetch.c @@ -966,8 +966,10 @@ static int store_updated_refs(const char *raw_url, const char *remote_name, ref->force = rm->peer_ref->force; } - if (recurse_submodules != RECURSE_SUBMODULES_OFF) + if (recurse_submodules != RECURSE_SUBMODULES_OFF && + (!rm->peer_ref || !oideq(&ref->old_oid, &ref->new_oid))) { check_for_new_submodule_commits(&rm->old_oid); + } if (!strcmp(rm->name, "HEAD")) { kind = "";