John Cai <johncai86@xxxxxxxxx> writes: > I wasn't aware of those config options. Indeed that's a good option! My only > concern with that is that there is already some precedence for passing a > <tree-ish> as a source for attributes in [1], so I thought adding a command line > option would be somewhat consistent. > > But I can also see the benefit of using a config value since there is also > precedence because of mailmap.file and mailmap.blob. Not sure what others think, > but this may be the less invasive way to go. I actually hate these one-off variables, and I wish we didn't do mailmap.file or mailmap.blob at all. Instead we could have taught the machinery to read from $GIT_DIR/info/mailmap just like the exclude and the attribute machinery already knows to read excludea and attributes files in the directory. As your "per filetype (determined by the attribute) diff algorithm in a bare repository" feature already depends on being able to use config (as the look-up is "attributes determines the diff filetype name, and then diff.<filetype>.algo is looked up in the config") to configure, it does not sound too bad to add the attribute info in the $GIT_DIR/info/attributes file in your bare repository (and you'd set the algorithm in $GIT_DIR/config file there), and it would just work without any new "read from HEAD" feature, I would presume? Thanks.