Thread (85 messages) 85 messages, 4 authors, 6d ago

Re: [PATCH v2 16/17] midx: refactor interfaces to work on "packed" source

From: Patrick Steinhardt <hidden>
Date: 2026-06-17 07:26:51

On Tue, Jun 16, 2026 at 05:37:53PM -0500, Justin Tobler wrote:
On 26/06/09 10:51AM, Patrick Steinhardt wrote:
quoted
diff --git a/builtin/multi-pack-index.c b/builtin/multi-pack-index.c
index 00ffb36394..6e73c85cde 100644
--- a/builtin/multi-pack-index.c
+++ b/builtin/multi-pack-index.c
@@ -85,12 +86,12 @@ static int parse_object_dir(const struct option *opt, const char *arg,
 	return 0;
 }
 
-static struct odb_source *handle_object_dir_option(struct repository *repo)
+static struct odb_source_files *handle_object_dir_option(struct repository *repo)
 {
 	struct odb_source *source = odb_find_source(repo->objects, opts.object_dir);
 	if (!source)
 		source = odb_add_to_alternates_memory(repo->objects, opts.object_dir);
-	return source;
+	return odb_source_files_downcast(source);
Now that we are passing around concrete ODB sources to many of these
interfaces, callers may have to handle downcasting explicitly. Since now
the downcasting may happen a bit ealier than previously in some cases, I
wondered if this would alter any error flows. I don't think this would
be the case though because ultimately we only have the "files" source
currently anyways.
Well, we'd be calling `BUG()` all the same. So as we don't have
conditional logic anywhere (yet?) that checks whether or not we use the
"files" backend all error flows are expected to ultimately be the same.
It's only that we may `BUG()` a bit earlier, but I guess the user is
going to be somewhat indifferent about this.

Patrick
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help