Re: [PATCH v6 0/5] Introduce libgit-rs, a Rust wrapper around libgit.a
- From
brian m. carlson <sandals@crustytoothpaste.net>
- Date
- Jan 21, 2025, 00:05 UTC
- Message-ID
- <Z47kr0_fYYdaMWyA@tapette.crustytoothpaste.net>
- In-Reply-To
- <cover.1736971328.git.steadmon@google.com>
On 2025-01-15 at 20:05:39, Josh Steadmon wrote:
Show 22 quoted lines
> Apologies for the long delay on V6; I am finally back after several > months of $DAYJOB firefighting, holidays, and sick leave. I should have > time to devote to this series again, but given the lack of feedback on > V5 I am hopeful that this will be the final iteration of this series. > > This series provides two small Rust wrapper libraries around parts of > Git: "libgit-sys", which exposes a few functions from libgit.a, and > "libgit", which provides a more Rust-friendly interface to some of those > functions. In addition to included unit tests, at $DAYJOB we have tested > building JJ[1] with our library and used it to replace some of the > libgit2-rs uses. > > [1] https://github.com/martinvonz/jj > > There is known NEEDSWORK, but I feel that they can be addressed in > follow-up changes, rather than in this series. If you feel otherwise, > please let me know: > > * Investigate alternative methods of managing symbol visibility & > renaming. > > * Figure out symbol versioning
It looks like we're building a general Rust lib crate and a static library here, so symbol versioning isn't an issue. I expect in the future we may want to provide a shared library, in which case we will indeed want to do that, but I agree that can wait until later.
In any event, I overall think this series is a nice improvement, and I am very enthusiastic about it. (This is mostly for the benefit of Junio, since I think the authors of this series already know that.) Once it lands, I do plan to build on it somewhat.
-- brian m. carlson (they/them or he/him) Toronto, Ontario, CA