Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace git2 with gitoxide #82

Closed
passcod opened this issue Apr 28, 2022 · 7 comments · Fixed by #129
Closed

Replace git2 with gitoxide #82

passcod opened this issue Apr 28, 2022 · 7 comments · Fixed by #129

Comments

@passcod
Copy link

passcod commented Apr 28, 2022

Crates using this (e.g. binstall) keep getting libgit2 linking errors when one updates and the other doesn't. Gitoxide is a pretty good replacement that by nature will never have this issue.

There's also other git2 related issues, but I don't know off-hand if they'd be helped by this.

Is this project interested in this? To be clear, this is a proposal to contribute this myself.

@kornelski
Copy link
Collaborator

Yes, it would be great to have it as an option.

@somehowchris
Copy link

@Shnatsel
Copy link

Shnatsel commented Nov 2, 2022

I'm interested in seeing this happen for cargo audit in order to remove the dependency on OpenSSL. libgit2 has a hard dependency on OpenSSL, and projects that expose its API backed by rustls (MesaLink, TabbySSL) appear to be dead.

However, the support for sparse registry would also fit our use case, since it removes the use of git entirely.

@Byron
Copy link
Collaborator

Byron commented Nov 2, 2022

I have turned the previously linked card into a tracking ticket with some analysis on the features that gitoxide would need to support, probably without being complete as the analysis was made some time ago.

My guess is I validated that gitoxide can support the needs of crates-index already, and if someone wants to get started I will make sure that the missing feature (proxy) support is ready in time.

@Jake-Shadle
Copy link
Contributor

FYI here is an implementation for providing clone/fetch/blob reading for a git registry index that can be used as an inspiration for getting started on a PR to close this issue.

@Byron
Copy link
Collaborator

Byron commented Jul 5, 2023

Thanks so much for sharing! I think particularly interesting could be how to get a crate from a cloned index. For the actual cloning/fetching, there might also be simpler ways as done in crates-index-diff for instance.

With that said, it's nice to see that the fetch API is powerful enough to support any case, even though I hope that over time, the common cases can be supported with tailored and neat APIs for clarity. With that said, I hope that if there is anything you would like to see improved, you will let me know :), @Jake-Shadle .

@Jake-Shadle
Copy link
Contributor

There were definitely some issues figuring out how it works, was planning on opening some issues on your repo later.

@Byron Byron mentioned this issue Jul 18, 2023
9 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants