On Mon, Aug 17, 2015 at 3:42 PM, Junio C Hamano <gitster@xxxxxxxxx> wrote: > > Dave Borowitz <dborowitz@xxxxxxxxxx> writes: > > > The issue is that if both _ALWAYS and _IF_POSSIBLE are set, > > git_transport_push interprets it as _ALWAYS. But, we are also supposed > > to prefer explicit command-line options to config values. > > > > Suppose we parsed config first, then options. If the user has > > push.signed = always and and passes --signed-if-possible, then the end > > result is (_ALWAYS | _IF_POSSIBLE), aka always,... > > Doesn't that merely suggest that the option parsing is implemented > incorrectly? Why is --signed-if-possible just ORing its bits into > the flag, instead of clearing and setting? Yes, that would be incorrect, but the actual implementation in my patch is not incorrect, it just solves the problem a different way. The alternative I suggested is another correct implementation, and it sounds like it's more in line with the convention you expect. I'll go with that. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html