113 个版本
0.19.0 | 2024年6月14日 |
---|---|
0.18.3 | 2024年3月19日 |
0.18.2 | 2024年2月7日 |
0.18.1 | 2023年9月20日 |
0.0.1 |
|
1 in 开发工具
1,251,122 每月下载量
在 1,494 个 Crates 中使用 (直接使用 949)
6.5MB
165K SLoC
git2-rs
Rust 的 libgit2 绑定。
[dependencies]
git2 = "0.19.0"
Rust 版本要求
git2-rs 与稳定版 Rust 兼容,并且通常也与最新的先前的稳定版本兼容。
libgit2 的版本
目前此库需要 libgit2 1.7.2(或更新的补丁版本)。libgit2 的源代码包含在 libgit2-sys crate 中,因此不需要预先安装 libgit2 库,libgit2-sys crate 会为你完成这项工作。
您可以通过启用 Cargo 功能 vendored-libgit2
来始终编译并将 libgit2 静态链接到一个副本。有时即使在激活 vendored-libgit2
的情况下,也需要在系统中找到并使用 libgit2。在这种情况下,您应设置环境变量 LIBGIT2_NO_VENDOR=1
。
构建 git2-rs
$ git clone https://github.com/rust-lang/git2-rs
$ cd git2-rs
$ cargo build
自动化测试
在每次提交时运行测试和处理所有相关的边缘情况很快就会变得繁琐。为了自动化测试和处理未提交更改的正确暂存和取消暂存,从而避免意外的糟糕情况,请使用此处找到的预提交钩子 here,并将其放置在 .git/hooks/
中,名称为 pre-commit
。您可能需要使用 chmod +x
添加执行权限。
要跳过简单提交或文档修复的测试,请使用以下命令:git commit --no-verify
。
在macOS 10.10+上构建
如果启用了 ssh
功能(默认启用),则此库依赖于libssh2,而libssh2依赖于OpenSSL。要使OpenSSL工作,请遵循openssl
包的说明。
许可证
此项目可根据您的选择使用以下任一许可证:
- Apache许可证2.0版,(LICENSE-APACHE 或 https://www.apache.org/licenses/LICENSE-2.0)
- MIT许可证(LICENSE-MIT 或 https://opensource.org/licenses/MIT)
任选其一。
贡献
除非您明确声明,否则您提交给git2-rs的任何有意贡献,根据Apache-2.0许可证的定义,应按上述方式双重许可,不附加任何额外条款或条件。
依赖项
~2–3.5MB
~92K SLoC