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的语言有,并附上各个语言的绑定方法:
C++: https://projects.kde.org/projects/playground/libs/libqgit2/
Chicken Scheme: https://wiki.call-cc.org/egg/git
D: https://github.com/AndrejMitrovic/dlibgit
Delphi: https://github.com/libgit2/GitForDelphi
Erlang: https://github.com/carlosmn/geef
Go: https://github.com/libgit2/git2go
GObject: https://live.gnome.org/Libgit2-glib
Haskell: https://github.com/fpco/gitlib
Lua: https://github.com/libgit2/luagit2
.NET: https://github.com/libgit2/libgit2sharp 、 https://github.com/txdv/libgit2net
Node.js: https://github.com/libgit2/node-gitteh
nodegit: https://github.com/tbranyen/nodegit
Objective-C: https://github.com/libgit2/objective-git
OCaml: https://github.com/burdges/libgit2-ocaml
Parrot Virtual Machine: https://github.com/letolabs/parrot-libgit2
Perl: https://github.com/ghedo/p5-Git-Raw
PHP: https://github.com/libgit2/php-git
Python: https://github.com/libgit2/pygit2
Ruby: https://github.com/libgit2/rugged
Vala: https://github.com/apmasell/vapis/blob/master/libgit2.vapi