treewide: use setup_revisions_from_strvec() when we have a strvec

The previous commit introduced a wrapper to make using setup_revisions()
with a strvec easier and safer. It converted spots that were already
doing most of what the wrapper did.

Let's now convert spots where we were not setting up the
free_removed_argv_elements flag. As discussed in the previous commit,
this probably isn't fixing any bugs or leaks (since these sites wouldn't
trigger the re-shuffling of argv that causes them). This is mostly
future-proofing us against setup_revisions() becoming more aggressive
about its re-shuffling.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
main
Jeff King 2025-09-19 18:49:07 -04:00 committed by Junio C Hamano
parent f93c1d86cc
commit b553332f82
3 changed files with 4 additions and 3 deletions

View File

@ -525,7 +525,8 @@ static void describe_blob(struct object_id oid, struct strbuf *dst)
NULL);

repo_init_revisions(the_repository, &revs, NULL);
if (setup_revisions(args.nr, args.v, &revs, NULL) > 1)
setup_revisions_from_strvec(&args, &revs, NULL);
if (args.nr > 1)
BUG("setup_revisions could not handle all args?");

if (prepare_revision_walk(&revs))

View File

@ -1941,7 +1941,7 @@ int cmd_main(int argc, const char **argv)
strvec_pushf(&commit_argv, "^%s",
oid_to_hex(&ref->old_oid));
repo_init_revisions(the_repository, &revs, setup_git_directory());
setup_revisions(commit_argv.nr, commit_argv.v, &revs, NULL);
setup_revisions_from_strvec(&commit_argv, &revs, NULL);
revs.edge_hint = 0; /* just in case */

/* Generate a list of objects that need to be pushed */

View File

@ -900,7 +900,7 @@ static void collect_changed_submodules(struct repository *r,
save_warning = warn_on_object_refname_ambiguity;
warn_on_object_refname_ambiguity = 0;
repo_init_revisions(r, &rev, NULL);
setup_revisions(argv->nr, argv->v, &rev, &s_r_opt);
setup_revisions_from_strvec(argv, &rev, &s_r_opt);
warn_on_object_refname_ambiguity = save_warning;
if (prepare_revision_walk(&rev))
die(_("revision walk setup failed"));