Re: [PATCH 04/10] am: use run_command_l_opt() for show_patch()
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Oct 14, 2022, 18:43 UTC
- Message-ID
- <xmqqpmeu8cuo.fsf@gitster.g>
- In-Reply-To
- <patch-04.10-4cd61aaa981-20221014T153426Z-avarab@gmail.com>
Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:
> The "git show" invocation added in 66335298a47 (rebase: add > --show-current-patch, 2018-02-11) is a one-off, and one where we're > not calling oid_to_hex() twice.
I am not sure what relevance it has being a one-off in justifying this change.
I agree with the latter half of the explanation, though. As long as run_command_l_opt() does not reuse the static oid_to_hex() buffers, this is safe.
Show 17 quoted lines
> - if (!is_null_oid(&state->orig_commit)) {
> - const char *av[4] = { "show", NULL, "--", NULL };
> - char *new_oid_str;
> - int ret;
> -
> - av[1] = new_oid_str = xstrdup(oid_to_hex(&state->orig_commit));
> - ret = run_command_v_opt(av, RUN_GIT_CMD);
> - free(new_oid_str);
> - return ret;
> - }
> + if (!is_null_oid(&state->orig_commit))
> + return run_command_l_opt(RUN_GIT_CMD, "show",
> + oid_to_hex(&state->orig_commit),
> + "--", NULL);
>
> switch (sub_mode) {
> case SHOW_PATCH_RAW: