revisions API users: use release_revisions() for "prune_data" users

Use release_revisions() for users of "struct rev_list" that reach into
the "struct rev_info" and clear the "prune_data" already.

In a subsequent commit we'll teach release_revisions() to clear this
itself, but in the meantime let's invoke release_revisions() here to
clear anything else we may have missed, and for reasons of having
consistent boilerplate.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Ævar Arnfjörð Bjarmason 2022-04-13 22:01:44 +02:00 committed by Junio C Hamano
parent bf1b32d099
commit f0cb6b8053
3 changed files with 3 additions and 0 deletions

View File

@ -143,6 +143,7 @@ int add_files_to_cache(const char *prefix,
rev.max_count = 0; /* do not compare unmerged paths with stage #2 */
run_diff_files(&rev, DIFF_RACY_IS_MODIFIED);
clear_pathspec(&rev.prune_data);
release_revisions(&rev);
return !!data.add_errors;
}

View File

@ -642,6 +642,7 @@ int do_diff_cache(const struct object_id *tree_oid, struct diff_options *opt)
if (diff_cache(&revs, tree_oid, NULL, 1))
exit(128);
clear_pathspec(&revs.prune_data);
release_revisions(&revs);
return 0;
}

View File

@ -617,6 +617,7 @@ static void wt_status_collect_changes_worktree(struct wt_status *s)
copy_pathspec(&rev.prune_data, &s->pathspec);
run_diff_files(&rev, 0);
clear_pathspec(&rev.prune_data);
release_revisions(&rev);
}
static void wt_status_collect_changes_index(struct wt_status *s)