Depending on libgit2 (rust crate git2 binds to libgit2 C source) constrains our TLS choices.
Looking at how we use libgit2, I think we can use the imara-diff crate to create/parse unified diff blobs. For other git ops, we can use a combination of gitoxide crates and/or the git CLI.
I'm still looking into this... It would allow for better platform support if we weren't constrained by the TLS backend that libgit2 uses. Vendoring OpenSSL (on platforms that aren't expected to have it installed) is really straining our build workflow.
Depending on libgit2 (rust crate
git2binds to libgit2 C source) constrains our TLS choices.Looking at how we use libgit2, I think we can use the
imara-diffcrate to create/parse unified diff blobs. For other git ops, we can use a combination of gitoxide crates and/or the git CLI.I'm still looking into this... It would allow for better platform support if we weren't constrained by the TLS backend that libgit2 uses. Vendoring OpenSSL (on platforms that aren't expected to have it installed) is really straining our build workflow.