139次发布
0.17.0+1.8.1 | 2024年6月14日 |
---|---|
0.16.2+1.7.2 | 2024年2月7日 |
0.16.1+1.7.1 | 2023年8月28日 |
0.15.2+1.6.4 | 2023年5月28日 |
0.0.1 |
|
在 开发工具 中排名第 35
每月下载量 1,215,243
用于 1,495 个 开源软件包(8 个直接使用)
5.5MB
147K SLoC
git2-rs
Rust的libgit2绑定。
[dependencies]
git2 = "0.19.0"
Rust版本要求
git2-rs与稳定版Rust兼容,通常也与最近的稳定版兼容。
libgit2版本
目前此库需要libgit2 1.7.2(或更高补丁版本)。libgit2的源代码包含在libgit2-sys包中,因此无需预先安装libgit2库,libgit2-sys包将为您处理并/或构建它。另一方面,如果系统中存在适当的libgit2版本,git2将尝试动态链接它。
更准确地说,如果满足以下两个条件,则 vendored libgit2
将以静态方式链接:
- 环境变量
LIBGIT2_NO_VENDOR=1
没有设置 - 并且 a) Cargo功能
vendored-libgit2
已设置或 b) 系统中找不到适当的libgit2
版本。
请注意,环境变量会覆盖Cargo功能。
构建git2-rs
$ git clone https://github.com/rust-lang/git2-rs
$ cd git2-rs
$ cargo build
自动化测试
每次提交时运行测试和处理所有相关的边缘情况很快就会变得繁琐。为了自动化测试并妥善地存储和取出未提交的更改,从而避免令人不快的意外,请使用此处找到的预提交钩子 这里,并将其放置在 .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://apache.ac.cn/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 https://opensource.org/licenses/MIT)
供您选择。
贡献
除非您明确声明,否则根据 Apache-2.0 许可证定义的,您提交给 git2-rs 的任何贡献,将按上述方式双重许可,不附加任何额外条款或条件。
依赖项
~0.8–2MB
~44K SLoC