On Tue, Aug 31 2021, Junio C Hamano wrote: > Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> writes: > >>> Testing the new behaviour is a good idea. I also agree with you >>> that die() would be more appropriate and does not risk regression, >>> if the original behaviour was to segfault. >> >> Indeed. I changed it due to your upthread >> <xmqqsg0anxix.fsf@gitster.g>. >> >> I think doing s/warning/die/ here makes sense, but similarly to the >> above comment: Let's punt on that and do it separately from this >> narrow segfault fix. If and when we change that we should change >> various other "warning()" around this codepath to "die()" as well. > > I do not think that can be thrown into the same bin as "should UI > give irrelevant details?" issue. If you make it not to segfault and > give just a warning(), it becomes impossible to make it die() later. > > If we all agree that die() is a better action, that must be done > now, or it will become never once the change is released to the > field. Because someone might have been relying on the current behavior of segfaulting to stop their script? And a mere warning() would break things for them by having the script "work" if this patch were to make it into a release? I think it's unlikely that anyone's running into this in the wild as anything but a one-off, and in any case whether or not we segfault, warn or die the behavior of fetch at this point is to have already finished the fetch itself. We're merely doing some post-fetch work of setting config etc. Both before and after this patch we won't be setting the upstream config. But yes, the exit code will change from a segfault to successful exit. I think the first priority should be to just narrowly fix the segfault & leave refactoring of e.g. having fetch do sanity checking on all options before doing work for later, especially as we're almost 2 months into no fix for the segfault landing on "master" after the first working patch to fix it, so if we have that all wait on agreeing on the perfect behavior for fetch error handling...