refs_ref_iterator_begin(): handle `GIT_REF_PARANOIA`
Instead of handling `GIT_REF_PARANOIA` in `files_ref_iterator_begin()`, handle it in `refs_ref_iterator_begin()`, where it will cover all reference stores. Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Michael Haggerty committed
May 22, 2017 at 16:17 UTC
0a0865b8f168b7195bd15440d15eb0e7817d6526
2 files changed
+9
-7
refs.c
+5
@@ -1259,6 +1259,11 @@ struct ref_iterator *refs_ref_iterator_begin(
1259
{
1260
struct ref_iterator *iter;
1261
1262
+ if (ref_paranoia < 0)
1263
+ ref_paranoia = git_env_bool("GIT_REF_PARANOIA", 0);
1264
+ if (ref_paranoia)
1265
+ flags |= DO_FOR_EACH_INCLUDE_BROKEN;
1266
+
1267
iter = refs->be->iterator_begin(refs, prefix, flags);
1268
1269
/*
refs/files-backend.c
+4
-7
@@ -1074,15 +1074,12 @@ static struct ref_iterator *files_ref_iterator_begin(
1074
struct ref_iterator *loose_iter, *packed_iter;
1075
struct files_ref_iterator *iter;
1076
struct ref_iterator *ref_iterator;
1077
+ unsigned int required_flags = REF_STORE_READ;
1078
1078
- if (ref_paranoia < 0)
1079
- ref_paranoia = git_env_bool("GIT_REF_PARANOIA", 0);
1080
- if (ref_paranoia)
1081
- flags |= DO_FOR_EACH_INCLUDE_BROKEN;
1079
+ if (!(flags & DO_FOR_EACH_INCLUDE_BROKEN))
1080
+ required_flags |= REF_STORE_ODB;
1081
1083
- refs = files_downcast(ref_store,
1084
- REF_STORE_READ | (ref_paranoia ? 0 : REF_STORE_ODB),
1085
- "ref_iterator_begin");
1082
+ refs = files_downcast(ref_store, required_flags, "ref_iterator_begin");
1083
1084
iter = xcalloc(1, sizeof(*iter));
1085
ref_iterator = &iter->base;