jj/lib
Yuya Nishihara c88e69ad6f git_backend: replace git2::Repository with gix::Repository
My gut feeling is that gitoxide aims to be more transparent than libgit2. We'll
need to know more about the underlying Git data model.

Random comments on gix API:

 * gix::Repository provides API similar to git2::Repository, but has less
   "convenient" functions. For example, we need to use .find_object() +
   .try_to/into_<kind>() instead of .find_<kind>().
 * gix::Object, Blob, etc. own raw data as bytes. gix::object and gix::objs
   types provide high-level views on such data.
 * Tree building is pretty low-level compared to git2.
 * gix leverages bstr (i.e. bytes) extensively.

It's probably not difficult to migrate git::import/export_refs(). It might
help eliminate the startup overhead of libssl initialization. The gix-based
GitBackend appears to be a bit faster, but that wouldn't practically matter.

#2316
2023-11-02 19:33:06 +09:00
..
benches
gen-protos
src git_backend: replace git2::Repository with gix::Repository 2023-11-02 19:33:06 +09:00
tests merged_tree: propagate backend errors in diff iterator 2023-10-26 06:20:56 -07:00
testutils tests: force gitoxide to not load config nor use "main" as default branch 2023-11-02 19:33:06 +09:00
Cargo.toml cargo: add gitoxide (or gix) dependency 2023-11-02 19:33:06 +09:00
LICENSE cargo: add LICENSE file to each crate we publish 2023-09-22 21:48:28 -07:00