On Mon, Sep 30, 2024 at 03:27:14PM -0700, Junio C Hamano wrote: > "brian m. carlson" <sandals@xxxxxxxxxxxxxxxxxxxx> writes: > > > One idea I had about this was pluggable storage backends, which might be > > a nice feature to add via a dynamically loaded shared library. In > > addition, this seems like the kind of feature that one might like to use > > Rust for, since it probably will involve HTTP code, and generally people > > like doing that less in C (I do, at least). > > Yes, yes, and yes. Indeed, I strongly agree with this. In fact, pluggable ODBs are the next big topic I'll be working on now that the refdb is pluggable. Naturally this is a huge undertaking that will likely take more on the order of years to realize, but one has to start somewhen, I guess. I'm also aligned with the idea of having something like dlopen-style implementations of the backends. While the reftable-library is nice and fixes some of the issues that we have at GitLab, the more important win is that this demonstrates that the abstractions that we have hold. Which also means that adding a new backend has gotten a ton easier now. And yes, being able to implement self-contained features like a refdb implementation or an ODB implementation in Rust would be a sensible first step for adopting it. It doesn't interact with anything else and initially we could continue to support platforms that do not have Rust by simply not compiling such a backend. Patrick