What is this?

This is a demonstration of a new Rust library I wrote, git-async. It is a library for reading git repositories, but in a filesystem-agnostic way. This means that it can be integrated into one of the two web APIs for file system operations. It's a git browser in your web browser!

Why is this?

The most widely-used git library, libgit2, is tied to the standard operating system file API. This means:

So I thought it would be interesting to write a git library that solved these two issues. You could use git-async with a virtual file-system, or any API that looks like a file-system. You could even use it with S3 (although I don't recommend it).

Whose fault is this?

I mostly go by the handle cyberia on the internet. I don't really have a homepage, but you can find me on GitHub, lobste.rs, various IRC networks, or reach me by email.

I wrote this mostly for fun and to procrastinate doing work for my master's degree.

Can I use it?

Please do! The library is available at crates.io/crates/git-async. The documentation is at docs.rs/git-async. It is dual-licensed under MIT or Apache-2.0.

The source for this web demo is available on GitHub and is under the AGPL-3.0.