纯C语言实现的 Git 核心开发包, libgit2 v0.23.1 发布

npde 9年前

libgit2 v0.23.1 发布,此版本是维护版本,建议所有用户更新!

更新内容如下:

16cee5d Stage an unregistered submodule in _add_bypath()  62a273c filebuf: remove lockfile upon rename errors  adb8f8d filebuf: failing test for leaving the lockfile when failing to rename  e874f3c Increase required version of cmake to 2.8  7483e08 Handle ssh:// and git:// urls containing a '~' character.  a299d0a Remove extra semicolon outside of a function  e5a7724 Cherry-pick PR #3332: Resolve documentation warnings  a91dff8 case-insensitive check for WWW-Authenticate header  c5d4317 iterator: adjust unreadable-dir test to new behaviour  a4ded36 iterator: skip over errors in diriter init  ac1a5e2 Make libgit2 work on Windows Vista again  555b351 Document git_fetch_options struct and fix typo.  2563101 Fix macro redefinition warning  55bc135 submodule: normalize slashes in resolve_url  a89a756 submodule: add failing test for backslash in url  38dc994 Fix #3094 - improve use of portable size_t/ssize_t format specifiers.  34ff34f filter: make sure to close the stream even on error  678c4aa index: allow add_bypath to update submodules  aafaa49 blob: fail to create a blob from a dir with EDIRECTORY  7624b91 errors: add EDIRECTORY  e48dd86 submodule: lookup the submodule by path if available  1207b8f submdule: reproduce double-reporting of a submodule in foreach  f2dc6b7 khash: add eol so picky compilers stop warning  a4743de xdiff: cleanup some warnings  75d0b81 xdiff: upgrade to core git 2.4.5  ba6b288 revert: correct test that added trailing newline  9ff89ea merge_files: don't add trailing newlines  f574039 Fix undefined reference with old versions of openssl

下载:https://github.com/libgit2/libgit2/archive/v0.23.1.zip 

libgit2 是一个可移植、纯C语言实现的 Git 核心开发包,你可以使用它来编写自定义的 Git 应用。

libgit2已被广泛应用在许多应用程序上,包括GitHub网站,还被应用在Plastic SCM和强大的微软Visual Studio工具箱。

主要功能:

  • SHA转换、格式化和缩略词

  • 抽象的ODB后端系统

  • 提交、标签、树和BLOB解析、编辑、blob解析和回写

  • 树遍历

  • revision walking

  • 索引文件(临时区域)操作

  • 引用管理(包括包引用)

  • 配置文件管理

  • 高级仓库管理

  • 线程安全和可重入

  • 错误信息描述非常详细

  • 更多(超过175个不同的API调用)

目前,可以绑定到libgit2的语言有,并附上各个语言的绑定方法: