2 个版本

0.1.1 2020 年 9 月 11 日
0.1.0 2020 年 9 月 11 日

#1671文件系统

每月 22 次下载
用于 vfs-clgit

Apache-2.0 或 MIT

48KB
664 行 代码

clgit: 命令行 GIT 包装器

GitHub crates.io docs.rs %23![forbid(unsafe_code)] rust: 1.32.0 License Build Status

优点

缺点

  • 需要安装 git
  • 不断启动新进程的额外开销
  • 更简洁的 API

许可证

以下任一许可证下授权

任选其一。

贡献

除非您明确声明,否则您提交的任何旨在包含在作品中的贡献,根据 Apache-2.0 许可证的定义,应按上述方式双重许可,不得添加任何额外条款或条件。

替代方案:git2 / libgit2-sys / libgit2

链接:github, docs.rs, crates.io

优点

  • git2 使用得更广泛/经过审查/经过测试
  • git2 性能更高,可能如此
  • 无需单独安装 git

缺点

  • !Sync
  • libgit2-sys 在 Linux 上构建时对 OpenSSL 开发依赖项很烦人
  • libgit2许可证 复杂,并包含 GPL
  • 多个 Crates 拉入不同版本的 libgit2-sys 将导致构建冲突,需要上游补丁
  • FFI 中包含的不安全因素让我感到不安
  • 使用由较新版本的 git 命令行创建的较旧的 libgit2 读取 git 仓库听起来像是版本不匹配的兼容性错误,等待发生。
  • 可能无法完全集成您设置的任何自定义 git 钩

无运行时依赖