#native-bindings #libgit2 #git2 #version

sys libgit2-sys

libgit2库的本地绑定

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 2014年11月13日

开发工具 中排名第 35

Download history 257827/week @ 2024-05-01 249455/week @ 2024-05-08 248271/week @ 2024-05-15 265693/week @ 2024-05-22 284966/week @ 2024-05-29 283019/week @ 2024-06-05 280499/week @ 2024-06-12 267785/week @ 2024-06-19 292362/week @ 2024-06-26 259692/week @ 2024-07-03 284910/week @ 2024-07-10 289606/week @ 2024-07-17 302555/week @ 2024-07-24 287401/week @ 2024-07-31 308171/week @ 2024-08-07 260738/week @ 2024-08-14

每月下载量 1,215,243
用于 1,495 开源软件包(8 个直接使用)

MIT/Apache

5.5MB
147K SLoC

C 142K SLoC // 0.1% comments Rust 4K SLoC // 0.0% comments Python 158 SLoC // 0.0% comments Shell 28 SLoC // 0.1% comments

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 许可证定义的,您提交给 git2-rs 的任何贡献,将按上述方式双重许可,不附加任何额外条款或条件。

依赖项

~0.8–2MB
~44K SLoC