纯C语言实现的 Git 核心开发包, libgit2 v0.23.1 发布
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
-
Haskell:https://github.com/fpco/gitlib
-
.NET:https://github.com/libgit2/libgit2sharp、https://github.com/txdv/libgit2net
-
Objective-C:https://github.com/libgit2/objective-git
-
Parrot Virtual Machine:https://github.com/letolabs/parrot-libgit2
-
Vala:https://github.com/apmasell/vapis/blob/master/libgit2.vapi