My personal project and infrastructure archive
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
nomicon/apps/servers/octopus/supergit
Katharina Fey 953d1e1a1d
Updating image links in READMEs
3 years ago
..
src Revert "supergit: work on implementing branching iterators" 3 years ago
test-repo octopus: adding a bare test repository 3 years ago
Cargo.toml supergit: add logo and rebuild README 3 years ago
README.md Updating image links in READMEs 3 years ago
logo.png supergit: add logo and rebuild README 3 years ago

README.md

supergit

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 Branches that you are interested in.

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.