aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2022-07-19 16:40:17 -0700
committerJunio C Hamano <gitster@pobox.com>2022-07-19 16:40:17 -0700
commit40ab711a9cd2b018bce53264da8d3d65085cfb53 (patch)
treec6898546c2f5eed277c8ba919caa2e33907fcc4b
parentMerge branch 'jk/clone-unborn-confusion' (diff)
parentref-filter: disable save_commit_buffer while traversing (diff)
downloadgit-40ab711a9cd2b018bce53264da8d3d65085cfb53.tar.gz
git-40ab711a9cd2b018bce53264da8d3d65085cfb53.zip
Merge branch 'jk/ref-filter-discard-commit-buffer'
* jk/ref-filter-discard-commit-buffer: ref-filter: disable save_commit_buffer while traversing
-rw-r--r--ref-filter.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/ref-filter.c b/ref-filter.c
index d3c90e5dbe..bdf39fa761 100644
--- a/ref-filter.c
+++ b/ref-filter.c
@@ -2405,6 +2405,7 @@ static void reach_filter(struct ref_array *array,
int filter_refs(struct ref_array *array, struct ref_filter *filter, unsigned int type)
{
struct ref_filter_cbdata ref_cbdata;
+ int save_commit_buffer_orig;
int ret = 0;
ref_cbdata.array = array;
@@ -2412,6 +2413,9 @@ int filter_refs(struct ref_array *array, struct ref_filter *filter, unsigned int
filter->kind = type & FILTER_REFS_KIND_MASK;
+ save_commit_buffer_orig = save_commit_buffer;
+ save_commit_buffer = 0;
+
init_contains_cache(&ref_cbdata.contains_cache);
init_contains_cache(&ref_cbdata.no_contains_cache);
@@ -2444,6 +2448,7 @@ int filter_refs(struct ref_array *array, struct ref_filter *filter, unsigned int
reach_filter(array, filter->reachable_from, INCLUDE_REACHED);
reach_filter(array, filter->unreachable_from, EXCLUDE_REACHED);
+ save_commit_buffer = save_commit_buffer_orig;
return ret;
}