ZheNing Hu <adlternative@xxxxxxxxx> writes: > Junio C Hamano <gitster@xxxxxxxxx> 于2021年3月15日周一 上午7:52写道: >> IOW this part would become ... >> >> if (trailer_args.nr) { >> strvec_pushl(&run_trailer.args, "interpret-trailers", >> "--in-place", ...); >> strvec_pushv(&run_trailer.args, trailer_args.v); >> run_trailer.git_cmd = 1; >> run_command(&run_trailer); >> } >> >> > + } else >> > + strvec_clear(&run_trailer.args); >> >> ... and there is no need to have "else" that won't need to do >> anything. > > Yes, but we also should clear "trailer_args" in "else" here, and check the > return value of the "run_command()" for clear "run_trailer.args". No. If you introduce the separate strvec, the "else" clause runs only when trailer_args haven't got anything, so there is nothing to clear.