libgit2 v0.24.0 发布了,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 更新记录如下: Custom filters can now be registered with wildcard attributes, for example filter=*. Consumers should examine the attributes parameter of the check function for details. Symlinks are now followed when locking a file, which can be necessary when multiple worktrees share a base repository. You can now set your own user-agent to be sent for HTTP requests by using the GIT_OPT_SET_USER_AGENT with git_libgit2_opts(). You can set custom HTTP header fields to be sent along with requests by passing them in the fetch and push options. Tree objects are now assumed to be sorted. If a tree is not correctly formed, it will give bad results. This is the git approach and cuts a significant amount of time when reading the trees. Filter registration is now protected against concurrent registration. Filenames which are not valid on Windows in an index no longer cause to fail to parse it on that OS. Rebases can now be performed purely in-memory, without touching the repository's workdir. When adding objects to the index, or when creating new tree or commit objects, the inputs are validated to ensure that the dependent objects exist and are of the correct type. This object validation can be disabled with the GIT_OPT_ENABLE_STRICT_OBJECT_CREATION option. The WinHTTP transport's handling of bad credentials now behaves like the others, asking for credentials again. 下载地址:https://github.com/libgit2/libgit2/archive/master.zip 详情请看:https://github.com/libgit2/libgit2 libgit2 v0.24.0 发布,Git 核心开发包下载地址