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

Refactor: drop gitoxide from josh-core #1337

Merged
merged 1 commit into from
Jun 13, 2024

Conversation

vlad-ivanov-name
Copy link
Collaborator

While gitoxide provides a well designed set of APIs, it's more oriented towards implementing a git client than a server, and it lacks some high-level APIs like treebuilder etc. Having it alongside the regular git2 implementation works but creates additional I/O pressure which has performance implications in scenarios when a lot of transactions are opened (graphql). It would still make sense to integrate gitoxide in the future as APIs improve, but only as a complete replacement of git2 and not side by side

  • Remove gix from josh-core
  • I kept gix in proxy since it still provides nice Rust APIs for repo init and config manipulation, however...
  • ...I updated the version of gix to latest and disabled all extra features, which reduced dependencies a lot

@vlad-ivanov-name vlad-ivanov-name changed the title Refactor: drop gitoxide from gitcore Refactor: drop gitoxide from josh-core Jun 1, 2024
@vlad-ivanov-name vlad-ivanov-name force-pushed the drop-gitoxide-from-core branch 2 times, most recently from e867005 to cb67e0e Compare June 1, 2024 18:35
Base automatically changed from fix-graphql-blocking to master June 13, 2024 15:17
While gitoxide provides a well designed set of APIs, it's more oriented
towards implementing a git client than a server, and it lacks some
high-level APIs like treebuilder etc. Having it alongside the regular
git2 implementation works but creates additional I/O pressure which has
performance implications in scenarios when a lot of transactions are
opened (graphql). It would still make sense to integrate gitoxide in the
future as APIs improve, but only as a complete replacement of git2 and
not side by side

* Remove gix from josh-core
* I kept gix in proxy since it still provides nice Rust APIs for repo
init and config manipulation, however...
* ...I updated the version of gix to latest and disabled all extra
features, which reduced dependencies a lot
@vlad-ivanov-name vlad-ivanov-name force-pushed the drop-gitoxide-from-core branch from cb67e0e to 742aa93 Compare June 13, 2024 15:18
@vlad-ivanov-name vlad-ivanov-name merged commit cd6dc20 into master Jun 13, 2024
1 check passed
@vlad-ivanov-name vlad-ivanov-name deleted the drop-gitoxide-from-core branch June 13, 2024 15:37
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 this pull request may close these issues.

2 participants