Jonathan Tan <jonathantanmy@xxxxxxxxxx> writes: > Commit 31224cbdc7 ("clone: recursive and reference option triggers > submodule alternates", 2016-08-17) taught Git to support the > configuration options "submodule.alternateLocation" and > "submodule.alternateErrorStrategy" on a superproject. > ... > The "submodule.alternateErrorStrategy" option determines what happens > if that alternate cannot be referenced. However, it is not clear that > the clone proceeds as if no alternate was specified when that option is > not set to "die" (as can be seen in the tests in 31224cbdc7). Therefore, > document it accordingly. Given that for everyday use (cf. sha1-file.c::link_alt_odb_entry()) of an alternate is best-effort basis, I have a feeling that it was a design mistake to have the "error strategy" configuration option in the first place, and "clone --reference-if-able" was the result of the same design mistake. We would have been better off if we made these the best-effort features as well. But the ship has sailed long ago---so I think these two are the best we can do at this point. Perhaps flipping the default to warn may be a longer term improvement, too.