純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