Re: [PATCH v13] [GSOC] commit: add --trailer option
From: Junio C Hamano <hidden>
Date: 2021-03-23 17:13:34
ZheNing Hu [off-list ref] writes:
Junio C Hamano [off-list ref] 于2021年3月23日周二 下午2:19写道:quoted
Christian Couder [off-list ref] writes:quoted
If you want nothing to happen when $ARG isn't set, you can change the config option to something like: $ git config trailer.sign.command "NAME='\$ARG'; test -n \"\$NAME\" && git log --author=\"\$NAME\" -1 --format='format:%aN <%aE>' || true" (This is because it looks like $ARG is replaced only once with the actual value, which is perhaps a bug. Otherwise something like the following might work:I do not know the origin of that code in trailers.c but it feels quite confused and error prone to use textual replacement with strbuf_replace(). Why doesn't the code, which knows it will use shell to execute the command line given by the end user in the configuration, to just export ARG as an environment variable and be done with it? It would also avoid quoting problem etc.Maybe like this?
Code is not an important part. We should think through ramifications of making (and not making) such a change first.