aboutsummaryrefslogtreecommitdiffstats
path: root/bundle.h
diff options
context:
space:
mode:
authorJustin Tobler <jltobler@gmail.com>2024-11-27 17:33:09 -0600
committerJunio C Hamano <gitster@pobox.com>2024-11-28 12:07:57 +0900
commit87c01003cdff8c99ebdf053441e4527d85952284 (patch)
tree8e1bb2e501c1f1391f53844f8c77b665d38ba5b0 /bundle.h
parentSync with 'maint' (diff)
downloadgit-87c01003cdff8c99ebdf053441e4527d85952284.tar.gz
git-87c01003cdff8c99ebdf053441e4527d85952284.zip
bundle: add bundle verification options type
When `unbundle()` is invoked, fsck verification may be configured by passing the `VERIFY_BUNDLE_FSCK` flag. This mechanism allows fsck checks on the bundle to be enabled or disabled entirely. To facilitate more fine-grained fsck configuration, additional context must be provided to `unbundle()`. Introduce the `unbundle_opts` type, which wraps the existing `verify_bundle_flags`, to facilitate future extension of `unbundle()` configuration. Also update `unbundle()` and its call sites to accept this new options type instead of the flags directly. The end behavior is functionally the same, but allows for the set of configurable options to be extended. This is leveraged in a subsequent commit to enable fsck message severity configuration. Signed-off-by: Justin Tobler <jltobler@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'bundle.h')
-rw-r--r--bundle.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/bundle.h b/bundle.h
index 5ccc9a061a..6a09cc7bfb 100644
--- a/bundle.h
+++ b/bundle.h
@@ -39,6 +39,10 @@ enum verify_bundle_flags {
int verify_bundle(struct repository *r, struct bundle_header *header,
enum verify_bundle_flags flags);
+struct unbundle_opts {
+ enum verify_bundle_flags flags;
+};
+
/**
* Unbundle after reading the header with read_bundle_header().
*
@@ -49,12 +53,12 @@ int verify_bundle(struct repository *r, struct bundle_header *header,
* (e.g. "-v" for verbose/progress), NULL otherwise. The provided
* "extra_index_pack_args" (if any) will be strvec_clear()'d for you.
*
- * Before unbundling, this method will call verify_bundle() with the
- * given 'flags'.
+ * Before unbundling, this method will call verify_bundle() with 'flags'
+ * provided in 'opts'.
*/
int unbundle(struct repository *r, struct bundle_header *header,
int bundle_fd, struct strvec *extra_index_pack_args,
- enum verify_bundle_flags flags);
+ struct unbundle_opts *opts);
int list_bundle_refs(struct bundle_header *header,
int argc, const char **argv);