aboutsummaryrefslogtreecommitdiff
path: root/apps/servers/octopus/supergit/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'apps/servers/octopus/supergit/README.md')
-rw-r--r--apps/servers/octopus/supergit/README.md34
1 files changed, 32 insertions, 2 deletions
diff --git a/apps/servers/octopus/supergit/README.md b/apps/servers/octopus/supergit/README.md
index 6c6d3f387f9e..b105f186da7d 100644
--- a/apps/servers/octopus/supergit/README.md
+++ b/apps/servers/octopus/supergit/README.md
@@ -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.