summaryrefslogtreecommitdiff
path: root/fsck.h
diff options
context:
space:
mode:
authorÆvar Arnfjörð Bjarmason <avarab@gmail.com>2021-03-28 13:15:48 (GMT)
committerJunio C Hamano <gitster@pobox.com>2021-03-29 02:03:10 (GMT)
commitc15087d17bd3c146696bfe6abf86322d79bf61ca (patch)
tree9425978e45e7a3268d93289ec5c504905323bd5c /fsck.h
parent53692df2b82f9d5ce15779da7d5227f1b027e193 (diff)
downloadgit-c15087d17bd3c146696bfe6abf86322d79bf61ca.zip
git-c15087d17bd3c146696bfe6abf86322d79bf61ca.tar.gz
git-c15087d17bd3c146696bfe6abf86322d79bf61ca.tar.bz2
fsck.c: move gitmodules_{found,done} into fsck_options
Move the gitmodules_{found,done} static variables added in 159e7b080bf (fsck: detect gitmodules files, 2018-05-02) into the fsck_options struct. It makes sense to keep all the context in the same place. This requires changing the recently added register_found_gitmodules() function added in 5476e1efde (fetch-pack: print and use dangling .gitmodules, 2021-02-22) to take fsck_options. That function will be removed in a subsequent commit, but as it'll require the new gitmodules_found attribute of "fsck_options" we need this intermediate step first. An earlier version of this patch removed the small amount of duplication we now have between FSCK_OPTIONS_{DEFAULT,STRICT} with a FSCK_OPTIONS_COMMON macro. I don't think such de-duplication is worth it for this amount of copy/pasting. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'fsck.h')
-rw-r--r--fsck.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/fsck.h b/fsck.h
index d284bac..e20f9bc 100644
--- a/fsck.h
+++ b/fsck.h
@@ -118,15 +118,21 @@ struct fsck_options {
unsigned strict:1;
enum fsck_msg_type *msg_type;
struct oidset skiplist;
+ struct oidset gitmodules_found;
+ struct oidset gitmodules_done;
kh_oid_map_t *object_names;
};
#define FSCK_OPTIONS_DEFAULT { \
.skiplist = OIDSET_INIT, \
+ .gitmodules_found = OIDSET_INIT, \
+ .gitmodules_done = OIDSET_INIT, \
.error_func = fsck_error_function \
}
#define FSCK_OPTIONS_STRICT { \
.strict = 1, \
+ .gitmodules_found = OIDSET_INIT, \
+ .gitmodules_done = OIDSET_INIT, \
.error_func = fsck_error_function, \
}
@@ -146,7 +152,8 @@ int fsck_walk(struct object *obj, void *data, struct fsck_options *options);
int fsck_object(struct object *obj, void *data, unsigned long size,
struct fsck_options *options);
-void register_found_gitmodules(const struct object_id *oid);
+void register_found_gitmodules(struct fsck_options *options,
+ const struct object_id *oid);
/*
* fsck a tag, and pass info about it back to the caller. This is