#git-repository #branch #typed #explorer #git2 #rustic #repo

bin+lib supergit

对 git 仓库的强类型、只读表示

3 个不稳定版本

0.2.1 2021 年 1 月 8 日
0.2.0 2021 年 1 月 8 日
0.1.0 2020 年 11 月 9 日

#10#rustic

GPL-3.0-or-later

80KB
885 代码行

supergit

强类型 git 仓库浏览器 此库提供了一个基于 git2 绑定的更 Rustic 的接口。如果您需要更底层的仓库访问,请考虑使用该库。

supergit 旨在使对 git 仓库的查询尽可能类型化和简单。首先创建一个 Repository,然后列出或获取您感兴趣的 Branch

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()));

库结构

仓库的主要抽象层是一组迭代器,用于遍历分支、提交和提交树中的文件。在 supergit 中实现的一些函数计算量相当大;它们用其运行时成本标记为这样!建议包含 supergit::prelude 以开始开发。

依赖项

~9MB
~238K SLoC