Re: [PATCH v13] [GSOC] commit: add --trailer option
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Mar 23, 2021, 17:12 UTC
- Message-ID
- <xmqqa6qt4wvw.fsf@gitster.g>
- In-Reply-To
- <CAOLTT8TKqDWnu3k1Xz=qBhmdZYFhM452WzVGG=OArgJL3z0yGQ@mail.gmail.com>
ZheNing Hu <adlternative@gmail.com> writes:
Show 23 quoted lines
> Junio C Hamano <gitster@pobox.com> 于2021年3月23日周二 下午2:19写道: >> >> Christian Couder <christian.couder@gmail.com> writes: >> >> > 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.