Message ID | 20190313175738.252961-1-jonathantanmy@google.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2] submodule: explain first attempt failure clearly | expand |
Jonathan Tan <jonathantanmy@google.com> writes: > It is additional to what fetch prints. To make it clearer, I have > removed all mentions of "additional" from the commit message. But right > now I'm not sure if that whole section is important (since what happens > can be deduced quite easily by reading the fewer than 10 lines of code). Hmph, perhaps. It was lot easier to follow, at least to me, though ;-) > If you mean a recommendation to the repository administrator, I guess we > can recommend that their HEAD points to something, even if it's just a > single orphan commit with a .txt file explaining what's going on. Yeah, that might make sense, too.
diff --git a/git-submodule.sh b/git-submodule.sh index 514ede2596..2c0fb6d723 100755 --- a/git-submodule.sh +++ b/git-submodule.sh @@ -594,7 +594,7 @@ cmd_update() # is not reachable from a ref. is_tip_reachable "$sm_path" "$sha1" || fetch_in_submodule "$sm_path" $depth || - say "$(eval_gettext "Unable to fetch in submodule path '\$displaypath'")" + say "$(eval_gettext "Unable to fetch in submodule path '\$displaypath'; trying to directly fetch \$sha1:")" # Now we tried the usual fetch, but $sha1 may # not be reachable from any of the refs diff --git a/submodule.c b/submodule.c index 21cf50ca15..b16c0ecc95 100644 --- a/submodule.c +++ b/submodule.c @@ -1548,6 +1548,13 @@ static int fetch_finish(int retvalue, struct strbuf *err, struct oid_array *commits; if (retvalue) + /* + * NEEDSWORK: This indicates that the overall fetch + * failed, even though there may be a subsequent fetch + * by commit hash that might work. It may be a good + * idea to not indicate failure in this case, and only + * indicate failure if the subsequent fetch fails. + */ spf->result = 1; if (!task || !task->sub)