On Mon, Oct 10, 2016 at 10:52:26AM -0700, Junio C Hamano wrote: > Jeff King <peff@xxxxxxxx> writes: > > > Having separate exec/shell boolean options just punts the overlap from > > the command key to those keys. If you have two mutually exclusive > > options, I think the best thing is a single option, like: > > > > type = <shell | exec | whatever> > > > > and then it is obvious that a second appearance of "type" overrides an > > earlier one, by our usual "last one wins" convention. As opposed to: > > > > shell = true > > exec = true > > > > where you have to understand the meaning of each option to know that > > "exec" overrides "shell". > > Good. > > Duy's "do we want to chdir or stay?" would be an orthogonal axis to > "what does the command line look like?" and "how is the command line > run?" so it adds one member to the "alias.<string>.*" family of > variables, I guess. Yeah, exactly. There may be other orthogonal axes to add, too, but I do not have any in mind myself. My main motive in switching to the "alias.$cmd.key" syntax is that it fixes the ancient mistake of putting arbitrary content into the key (just like pager.*, as we've discussed elsewhere). -Peff