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