Re: [PATCHv5 8/8] clone: recursive and reference option triggers submodule alternates
From: Stefan Beller <hidden>
Date: 2016-08-23 23:03:28
quoted
+ + if (option_recursive) { + if (option_required_reference.nr && + option_optional_reference.nr) + die(_("clone --recursive is not compatible with " + "both --reference and --reference-if-able"));So if you have multiple references that don't all match we basically just refuse to allow recursive? Would it be better to simply assume that we want to die on missing references instead of failing the clone here?
The new config options are per repo (or even set globally), and not per alternate. And as we communicate the [if-able] part via the config options to the submodules it is not feasible to transport both kinds of (reference-or-die and reference-but-ignore-misses). That is why I introduced this check in the first place. If we'd go back to the drawing board and come up with a solution that is on a "per alternate" basis we could allow such things.
That is, treat it so that multiple reference and reference-if-able will die, and only info if we got only reference-if-able? Probably what's here is fine, and mixing reference and reference-if-able doesn't make much sense.
I think the reference-if-able doesn't make sense for one project alone as you can easily script around that, but is only useful if you have submodules in a partially checked out superproject that you want to reference to. Thanks, Stefan