parent
c3d64b9be3
commit
3ca87e463a
@ -1,14 +1,14 @@ |
|||||||
[package] |
[package] |
||||||
name = "supergit" |
name = "supergit" |
||||||
description = "A strongly typed, read-only representation of a git repository" |
description = "A strongly typed, read-only representation of a git repository" |
||||||
version = "0.2.0" |
version = "0.2.1" |
||||||
authors = ["Katharina Fey <kookie@spacekookie.de>"] |
authors = ["Katharina Fey <kookie@spacekookie.de>"] |
||||||
edition = "2018" |
edition = "2018" |
||||||
license = "GPL-3.0-or-later" |
license = "GPL-3.0-or-later" |
||||||
documentation = "https://docs.rs/supergit" |
documentation = "https://docs.rs/supergit" |
||||||
readme = "README.md" |
readme = "README.md" |
||||||
|
repository = "https://git.spacekookie.de/kookienomicon/about/apps/servers/octopus/supergit" |
||||||
|
|
||||||
[dependencies] |
[dependencies] |
||||||
git2 = "0.11" |
atomptr = "1.0" |
||||||
async-std = { version = "1.0", features = ["unstable"] } |
git2 = "0.11" |
||||||
atomptr = "1.0" |
|
@ -1,3 +1,33 @@ |
|||||||
# supergit |
<div align="center"> |
||||||
|
<img src="/kookienomicon/plain/apps/servers/octopus/supergit/logo.png" width="256px"/> |
||||||
|
<h1>supergit</h1> |
||||||
|
</div> |
||||||
|
|
||||||
A typed wrapper around libgit2. |
|
||||||
|
Strongly typed git repository explorer This library provides a more |
||||||
|
Rustic interface for git repositories, built on the `git2` bindings. |
||||||
|
If you want more low-level access to your repository, consider using |
||||||
|
that library instead. |
||||||
|
|
||||||
|
supergit aims to make queries into a git repo as typed and easy as |
||||||
|
possible. Start by creating a `Repository`, and enumerating or |
||||||
|
fetching `Branch`es that you are interested in. |
||||||
|
|
||||||
|
```rust |
||||||
|
use supergit::Repository; |
||||||
|
|
||||||
|
let r = Repository::open("/path/to/repo").unwrap(); |
||||||
|
println!("{:?}", r.branches()); |
||||||
|
|
||||||
|
let branch = r.branch("main").unwrap(); |
||||||
|
let head = branch.head(); |
||||||
|
println!("{}: {}", head.id(), head.summary().unwrap_or("".into())); |
||||||
|
``` |
||||||
|
|
||||||
|
## Library structure |
||||||
|
|
||||||
|
The main abstraction layer for a repository is a set of iterators, |
||||||
|
over branches, commits, and files in commit trees. Some functions |
||||||
|
implemented in `supergit` are quite computationally intensive; they |
||||||
|
are marked as such with their runtime cost! It's recommended to |
||||||
|
include `supergit::prelude` to get started with development. |
||||||
|
After Width: | Height: | Size: 54 KiB |
Loading…
Reference in new issue