Subject: Re: [PATCH 15/17] odb/source: make `read_alternates()` function pluggable

From: Patrick Steinhardt <[email-masked]>
Date: Thu, 5 Mar 2026 14:23:56 +0100

On Wed, Mar 04, 2026 at 03:49:01PM -0600, Justin Tobler wrote:
> On 26/02/23 05:18PM, Patrick Steinhardt wrote:
> > diff --git a/odb/source.h b/odb/source.h
> > index ddce43eb20..14f5d56f68 100644
> > --- a/odb/source.h
> > +++ b/odb/source.h
> > @@ -229,6 +230,20 @@ struct odb_source {
> >  	int (*write_object_stream)(struct odb_source *source,
> >  				   struct odb_write_stream *stream, size_t len,
> >  				   struct object_id *oid);
> > +
> > +	/*
> > +	 * This callback is expected to read the list of alternate object
> > +	 * database sources connected to it and write them into the `strvec`.
> > +	 *
> > +	 * The format is expected to follow the "objectStorage" extension
> > +	 * format with `(backend://)?payload` syntax. If the payload contains
> > +	 * paths, these paths must be resolved to absolute paths.
> 
> This seems sensible, but also sounds like a change that might be worth
> explaining in the commit message. Does this mean we should expect an
> alternates file containing list prefixed with "files://" to start
> working? If so, this doesn't appear to be implemented yet.

Fair, none of this is implemented yet. Let me adapt the comment.

Patrick