Re: [PATCH v2 00/18] Introduce rust: In xdiff
- From
Patrick Steinhardt <ps@pks.im>
- Date
- Sep 22, 2025, 13:01 UTC
- Message-ID
- <aNFIozagGc0MoseL@pks.im>
- In-Reply-To
- <CAH=ZcbBNFSwU7E+P7hkQnt9UrMKiCRESgGvWPL7pRUa0i2U5-Q@mail.gmail.com>
On Fri, Sep 19, 2025 at 02:57:58PM -0600, Ezekiel Newren wrote:
Show 23 quoted lines
> On Tue, Sep 16, 2025 at 11:58 PM Patrick Steinhardt <ps@pks.im> wrote: > > Given that this isn't yet ready and given that this patch series is way > > bigger than the one I have in flight that focusses on introducing the > > policy [1]: how about we first merge that one down and then rebase your > > patches on top of it to iterate? It would reduce the scope of your patch > > series and allow us to make smaller steps towards our goal. > > > > To be clear: I very much think that most of the steps here are quite > > sensible. We definitely want to introduce cbindgen, we obviously need to > > introduce support on Windows, and I guess having multiple different > > workspaces is also something that could provide benefit. > > > > But there is no reason to have that all at once, so hence my suggestion > > to build out the infra one step at a time. > > > > What do you think? > > I think I made a big mistake of not making it clear that I intended v2 > as more of an RFC. My worry (that I expressed very poorly or not at > all) is how hard will it be to apply my patches on top of your > foundation? I don't know if minor or major changes to your current > path would be needed, so I proposed a different way to Introduce Rust > while trying to incorporate work from others.
Ah, fair enough. Thanks for clarifying your intentions!
I don't think there'd have to be major changes to the current version of my patch series. The idea of that patch series is very much getting buy-in regarding our roadmap and focus less on the actual build infra. So the changes introduced are mostly an MVC, and I very much think that we'll have to iterate quite a bit on it, but that's intended.
I think that a lot of the steps you outline below are logical next steps to get there. If I can change anything to make these next steps easier for you I'm happy to do so. But I also don't think it's too bad if we have to change the current infra quite significantly to get there.
> I wanted feedback on: > * Cleaning up Rust type name collisions > * People don't like it, so I'll drop that
I don't have a strong opinion on this. If it creates issues I personally don't mind fixing it.
Show 7 quoted lines
> * Have Makefile produce libgit.a correctly. > * I think this is a good idea, but it doesn't belong in this patch series. > * Adding Rust unit test which required fixing Make and adding > build-helper to reduce boilerplate code > * I think this is a good idea, but should be added later. > * Introduce cbindgen to avoid desync errors between Rust and C. > * LIke other points above; This should be added later.
Agreed, these all make sense to me.
> * What should we call the crate that will be the new home for .c and > .h files in the root of Git?
We could call this something like "libgit-ffi", but I don't care too much.
Thanks!
Patrick