#git

asyncgit

allow using git2 in a asynchronous context

43 unstable releases

Uses new Rust 2021

0.22.1 Nov 22, 2022
0.21.0 Aug 17, 2022
0.20.1 Jan 26, 2022
0.19.0 Dec 8, 2021
0.1.2 Mar 27, 2020

#131 in Concurrency

Download history 219/week @ 2022-10-07 167/week @ 2022-10-14 143/week @ 2022-10-21 158/week @ 2022-10-28 285/week @ 2022-11-04 165/week @ 2022-11-11 778/week @ 2022-11-18 344/week @ 2022-11-25 247/week @ 2022-12-02 241/week @ 2022-12-09 210/week @ 2022-12-16 161/week @ 2022-12-23 175/week @ 2022-12-30 203/week @ 2023-01-06 176/week @ 2023-01-13 173/week @ 2023-01-20

754 downloads per month
Used in gitui

MIT license

295KB
10K SLoC

asyncgit

allow using git2 in an asynchronous context

This crate is designed as part of the gitui project.

asyncgit provides the primary interface to interact with git repositories. It is split into the main module and a sync part. The latter provides convenience wrapper for typical usage patterns against git repositories.

The primary goal however is to allow putting certain (potentially) long running git2 calls onto a thread pool.crossbeam-channel is then used to wait for a notification confirming the result.

In gitui this allows the main-thread and therefore the ui to stay responsive.


lib.rs:

asyncgit

Dependencies

~13MB
~317K SLoC