libgit2 v0.22.2 发布,此版本是个维护版本,主要修复了以下问题: 1f25fe9 checkout: report correct invalid path 8633dd9 win32: further cleanups for 8.3 disabling 93be89c win32: cleanup 8.3 disabled tests 728a013 Fix test failures when 8.3 is disabled 1f726d0 git: make sure to close the network stream 3e163b6 checkout: free last created directory 3440c20 Initialize refs vector in git_remote_update_tips(). dcf6c0c Lower case the include directive of windows header 1dd5e28 http: do not try to use the cert callback on unencrypted streams dd243fe indexer: set an error message on duplicate objects in pack 3a1dc42 Put back the number of expected references to 6 from the test repo cf688ff Fixed active refspecs not reset by git_remote_upload() 7a5682f http: enforce the credential types f008aeb branch: do capture the error code 283f31a git_branch_delete() should ignore errors from non-existing reflogs aa409d5 Fix Mac build without OpenSSL d884d1c Fix race in git_packfile_unpack. 277d647 Reinit `reader` pointer after reading included config file 3bdcea8 Check rebase options version on public entry points 7d8e4e3 mkdir: respect the root path 69455bc stat: don't remove trailing '/' from root on win32 7aee248 repo: ensure we can create repo at filesystem root aa926fb Fix branch creation when branch name matches namespace of previously deleted branch 31ea8db Clarified git_repository_is_empty() documentation ed64a1b Add libssh2's library and include directories. 5c3e01d Ensure the diff hunk callback is specified before trying to dereference it fe61bb6 Ensure git_index_entry is not NULL before trying to free it ae0cfac openssl: Add all required includes for AF_INET6 and in6_addr. 4738a33 Fixed git_repository_set_bare() not setting "core.bare" correctly d0db408 Make sure sys/repository.h includes the required headers eefe2e8 Fixed typo in git_repository_reinit_filesystem() documentation 8693335 Make binary detection work similar to vanilla git d95c949 Include ws2tcpip.h in order to get in6_addr e1314dd Include openssl headers last 09c2477 Fixed error when including git2/include/sys/stream.h bd0a551 pathspec: do not try to dereference NULL 1ce9ea3 checkout tests: cleanup realpath impl on Win32 f9df7b6 checkout tests: emulate p_realpath poorly on Win32 8d65523 checkout: remove files before writing new ones b295294 checkout: drop newline in error message 99367df checkout tests: nasty symlinks 9f1c873 checkout: don't recreate previous directory 1ca7fa9 git_path_join_unrooted: return base len bd0e881 checkout: introduce git_checkout_perfdata 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 libgit2 v0.22.2 发布,Git 开发包下载地址