Re: [PATCH 1/2] Doc: explain submodule.alternateErrorStrategy
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Nov 27, 2019, 12:30 UTC
- Message-ID
- <xmqqo8wxv6vk.fsf@gitster-ct.c.googlers.com>
- In-Reply-To
- <a8125b946227d918865fde0dcbec516474b42386.1574731649.git.jonathantanmy@google.com>
Jonathan Tan <jonathantanmy@google.com> writes:
Show 10 quoted lines
> 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.