On Mon, Mar 15, 2021 at 4:24 AM ZheNing Hu via GitGitGadget <gitgitgadget@xxxxxxxxx> wrote: > diff --git a/builtin/commit.c b/builtin/commit.c > index 739110c5a7f6..24fccb561398 100644 > --- a/builtin/commit.c > +++ b/builtin/commit.c > @@ -113,6 +113,9 @@ static int config_commit_verbose = -1; /* unspecified */ > static int no_post_rewrite, allow_empty_message, pathspec_file_nul; > static char *untracked_files_arg, *force_date, *ignore_submodule_arg, *ignored_arg; > static char *sign_commit, *pathspec_from_file; > +struct child_process run_trailer = CHILD_PROCESS_INIT; It seems to me that `run_trailer` is used only in the `if (trailer_args.nr) {...}` block, so it could be declared there instead of as a global variable. > +struct strvec trailer_args = STRVEC_INIT; > +static const char *trailer; I am not sure that this `trailer`variable is really needed. It seems to be used only as the third argument to OPT_CALLBACK(), but there are other places in the code base where we pass NULL as the third argument.