Git 开发包,libgit2 v0.23.4 发布

jopen 8年前

libgit2 是一个可移植、纯C语言实现的 Git 核心开发包,你可以使用它来编写自定义的 Git 应用。

libgit2已被广泛应用在许多应用程序上,包括GitHub网站,还被应用在Plastic SCM和强大的微软Visual Studio工具箱。

主要功能:

  • SHA转换、格式化和缩略词

  • 抽象的ODB后端系统

  • 提交、标签、树和BLOB解析、编辑、blob解析和回写

  • 树遍历

  • revision walking

  • 索引文件(临时区域)操作

  • 引用管理(包括包引用)

  • 配置文件管理

  • 高级仓库管理

  • 线程安全和可重入

  • 错误信息描述非常详细

  • 更多(超过175个不同的API调用)

目前,可以绑定到libgit2的语言有,并附上各个语言的绑定方法:

libgit2 v0.23.4 发布,此版本是个维护版本,添加了测试用例,修复了警告和一个泄漏问题。

其他改进:

dab55be Fix warnings and a leak  5b6b774 Add test case  ed4eeeb merge-base: Style  0740382 merge-base: Do not read parents from the root  5b6af2c merge-base: Remove redundant merge bases  faa3c89 Fix build for custom transport users  50225df git: put NULL check at the top  9a212bf git: accept NULL as argument to its stream free  c615d29 Prevent segfault when parsing a reflog with oid parse error  6bac384 reuc: Be smarter when inserting new REUC entries  0e077d7 Fix docs typo geterr_clear -> giterr_clear  8f5f1a1 xdiff: reference util.h in parent directory  ba7da35 diff: ignore nsecs when diffing  1073061 index: test that we round-trip nsecs  5e26142 inttypes.h is built-in header file since MSVC 2013  afed770 win32: add c linkage guard around inttypes.h inclusion  abdbfef signature: Strip crud just like Git does  aef9724 odb: Prioritize alternate backends  18ff20f odb: Be smarter when refreshing backends  486270d revwalk: make commit list use 64 bits for time  47e4b74 CMake: be more explicit with python errors  66956c5 qsort_r/qsort_s: detect their support  cd76828 p_futimes: support using futimens when available  08a2a93 openssl: don't try to teardown an unconnected SSL context  7dd5128 win32::longpath: don't print path  6aed945 Fix binary diffs  1a1d575 win32: test checkout msg on long path err  80b4536 win32: propogate filename too long errors  1ffa073 repository: only reserve repo dirs in the workdir  1568dea pkg-config: fix directory references in libgit2.pc  ad8e8fa win32: return EACCES in `p_lstat`  59ac224 checkout: overwrite files with differing modes  097c5bc checkout::tree tests: don't use hardcoded mode  d73bf24 checkout::tree tests: don't use static buffer  9ae94bc Check that checkout preserves filemode in working directory.  9247114 Check that an executable in index is not an executable after checkout.  d1a7d0e Removing memory leak in mempack's free  7e53d83 Fixing dangling pointers in git_mempack_reset  d960fb3 added a single line of additional error reporting from libssh2 when failing to retrieve the list of authentication methods  c1dabd1 filebuf: follow symlinks when creating a lock file
来自:http://www.oschina.net/news/68009/libgit2-0-23-4