From: Junio C Hamano Date: Wed, 23 Feb 2011 23:21:53 GMT Subject: Re: [PATCH 5/6] fetch/pull: Don't recurse into a submodule when commits are already present Message-ID: <7vaahm5oby.fsf@alter.siamese.dyndns.org> In-Reply-To: <4D656FC7.2060201@web.de> Jens Lehmann writes: > diff --git a/submodule.c b/submodule.c > index b477c3c..ddb0a29 100644 > --- a/submodule.c > +++ b/submodule.c > @@ -263,6 +263,13 @@ void set_config_fetch_recurse_submodules(int value) > config_fetch_recurse_submodules = value; > } > > +static int is_submodule_commit_present(const char *path, unsigned char sha1[20]) > +{ > + if (!add_submodule_odb(path)) > + return lookup_commit_reference(sha1) != 0; > + return 0; > +} Don't you need to prove the usual "reachabile from the refs" here, instead of just the presense of a commit object? If not, why not?