Junio C Hamano <gitster@xxxxxxxxx> writes: > 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? That is, "git config alias.myp push --sign=if-asked" followed by $ git myp --sign=no would internally expand to $ git push --sign=if-asked --sign=no and the result should follow the usual "last one wins" rule. -- 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