From: Stefan Beller <sbeller@google.com>
To: git@vger.kernel.org, leif.middelschulte@gmail.com
Cc: gitster@pobox.com, newren@gmail.com, Stefan Beller <sbeller@google.com>
Subject: [PATCH] git-submodule.sh: try harder to fetch a submodule
Date: Tue, 15 May 2018 13:00:26 -0700 [thread overview]
Message-ID: <20180515200030.88731-2-sbeller@google.com> (raw)
In-Reply-To: <20180515200030.88731-1-sbeller@google.com>
This is the logical continuum of fb43e31f2b4 (submodule: try harder to
fetch needed sha1 by direct fetching sha1, 2016-02-23) and fixes it as
some assumptions were not correct.
The commit states:
> If $sha1 was not part of the default fetch ... fail ourselves here
> assumes that the fetch_in_submodule only fails when the serverside does
> not support fetching by sha1.
There are other failures, why such a fetch may fail, such as
fatal: Couldn't find remote ref HEAD
which can happen if the remote side doesn't advertise HEAD and we do not
have a local fetch refspec.
Not advertising HEAD is allowed by the protocol spec and would happen,
if HEAD points at an unborn branch for example.
Not having a local fetch refspec can happen when submodules are fetched
shallowly, as then git-clone doesn't setup a fetch refspec.
So do try even harder for a submodule by ignoring the exit code of the
first fetch and rather relying on the following is_tip_reachable to
see if we try fetching again.
Signed-off-by: Stefan Beller <sbeller@google.com>
---
git-submodule.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/git-submodule.sh b/git-submodule.sh
index 24914963ca2..00fcd69138f 100755
--- a/git-submodule.sh
+++ b/git-submodule.sh
@@ -614,7 +614,7 @@ cmd_update()
# is not reachable from a ref.
is_tip_reachable "$sm_path" "$sha1" ||
fetch_in_submodule "$sm_path" $depth ||
- die "$(eval_gettext "Unable to fetch in submodule path '\$displaypath'")"
+ say "$(eval_gettext "Unable to fetch in submodule path '\$displaypath'")"
# Now we tried the usual fetch, but $sha1 may
# not be reachable from any of the refs
--
2.17.0.582.gccdcbd54c44.dirty
next prev parent reply other threads:[~2018-05-15 20:00 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-15 20:00 [PATCHv2 0/3] Reroll of sb/submodule-merge-in-merge-recursive Stefan Beller
2018-05-15 20:00 ` Stefan Beller [this message]
2018-05-15 20:00 ` [PATCH] grep: handle corrupt index files early Stefan Beller
2018-05-15 20:00 ` [PATCH 1/3] submodule.c: move submodule merging to merge-recursive.c Stefan Beller
2018-05-15 20:00 ` [PATCH 2/3] merge-recursive: i18n submodule merge output and respect verbosity Stefan Beller
2018-05-16 1:17 ` Junio C Hamano
2018-05-15 20:00 ` [PATCH 3/3] Inform about fast-forwarding of submodules during merge Stefan Beller
2018-05-16 1:36 ` Elijah Newren
2018-05-16 1:36 ` Junio C Hamano
2018-05-16 1:42 ` Junio C Hamano
2018-06-04 18:48 ` [PATCH v4 0/1] merge-recursive: give notice when submodule commit gets fast-forwarded Leif Middelschulte
2018-06-04 18:48 ` [PATCH 1/1] " Leif Middelschulte
2018-06-07 5:22 ` Elijah Newren
2018-06-11 17:31 ` [PATCH] merge-submodule: reduce output verbosity Leif Middelschulte
2018-06-11 18:04 ` Junio C Hamano
2018-06-11 19:07 ` Leif Middelschulte
2018-05-15 20:02 ` [PATCHv2 0/3] Reroll of sb/submodule-merge-in-merge-recursive Stefan Beller
2018-05-15 20:15 ` Leif Middelschulte
2018-05-15 20:49 ` Stefan Beller
-- strict thread matches above, loose matches on Subject: below --
2018-05-11 23:17 [PATCH] git-submodule.sh: try harder to fetch a submodule Stefan Beller
2018-05-11 23:28 ` Jonathan Nieder
2018-05-11 23:42 ` Stefan Beller
2018-05-12 0:03 ` Junio C Hamano
2018-05-15 19:07 ` Stefan Beller
2018-05-15 19:40 ` Stefan Beller
2018-05-15 20:04 ` Jonathan Nieder
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180515200030.88731-2-sbeller@google.com \
--to=sbeller@google.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=leif.middelschulte@gmail.com \
--cc=newren@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.