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>

Jeff King committed Sep 19, 2025 at 18:49 UTC b553332f82440d68710fcfd2dd6718ec5b43f841
3 files changed +4 -3
builtin/describe.c
+2 -1
@@ -525,7 +525,8 @@ static void describe_blob(struct object_id oid, struct strbuf *dst)
525 NULL);
526
527 repo_init_revisions(the_repository, &revs, NULL);
528 - if (setup_revisions(args.nr, args.v, &revs, NULL) > 1)
528 + setup_revisions_from_strvec(&args, &revs, NULL);
529 + if (args.nr > 1)
530 BUG("setup_revisions could not handle all args?");
531
532 if (prepare_revision_walk(&revs))
http-push.c
+1 -1
@@ -1941,7 +1941,7 @@ int cmd_main(int argc, const char **argv)
1941 strvec_pushf(&commit_argv, "^%s",
1942 oid_to_hex(&ref->old_oid));
1943 repo_init_revisions(the_repository, &revs, setup_git_directory());
1944 - setup_revisions(commit_argv.nr, commit_argv.v, &revs, NULL);
1944 + setup_revisions_from_strvec(&commit_argv, &revs, NULL);
1945 revs.edge_hint = 0; /* just in case */
1946
1947 /* Generate a list of objects that need to be pushed */
submodule.c
+1 -1
@@ -900,7 +900,7 @@ static void collect_changed_submodules(struct repository *r,
900 save_warning = warn_on_object_refname_ambiguity;
901 warn_on_object_refname_ambiguity = 0;
902 repo_init_revisions(r, &rev, NULL);
903 - setup_revisions(argv->nr, argv->v, &rev, &s_r_opt);
903 + setup_revisions_from_strvec(argv, &rev, &s_r_opt);
904 warn_on_object_refname_ambiguity = save_warning;
905 if (prepare_revision_walk(&rev))
906 die(_("revision walk setup failed"));