1. XenForo 1.5.14 中文版——支持中文搜索!现已发布!查看详情
  2. Xenforo 爱好者讨论群:215909318 XenForo专区

新闻 libgit2 v0.24.0 RC1 发布 下载

本帖由 漂亮的石头2016-02-23 发布。版面名称:软件资讯

  1. 漂亮的石头

    漂亮的石头 版主 管理成员

    注册:
    2012-02-10
    帖子:
    487,424
    赞:
    47
    libgit2 v0.24.0 RC1 发布,该版本包含众多变化,详细列表包括:

    Changes or improvements


    • 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.
    API additions


    • git_config_lock() has been added, which allow for
      transactional/atomic complex updates to the configuration, removing
      the opportunity for concurrent operations and not committing any
      changes until the unlock.


    • git_diff_options added a new callback progress_cb to report on the
      progress of the diff as files are being compared. The documentation of
      the existing callback notify_cb was updated to reflect that it only
      gets called when new deltas are added to the diff.


    • git_fetch_options and git_push_options have gained a custom_headers
      field to set the extra HTTP header fields to send.


    • git_stream_register_tls() lets you register a callback to be used
      as the constructor for a TLS stream instead of the libgit2 built-in
      one.


    • git_commit_header_field() allows you to look up a specific header
      field in a commit.


    • git_commit_extract_signature() extracts the signature from a
      commit and gives you both the signature and the signed data so you
      can verify it.
    API removals


    • There were no API removals in this release.
    Breaking API changes


    • The git_merge_tree_flag_t is now git_merge_flag_t. Subsequently,
      its members are no longer prefixed with GIT_MERGE_TREE_FLAG but are
      now prefixed with GIT_MERGE_FLAG, and the tree_flags field of the
      git_merge_options structure is now named flags.


    • The git_merge_file_flags_t enum is now git_merge_file_flag_t for
      consistency with other enum type names.


    • git_cert descendent types now have a proper parent member


    • It is the responsibility of the refdb backend to decide what to do
      with the reflog on ref deletion. The file-based backend must delete
      it, a database-backed one may wish to archive it.


    • git_config_backend has gained two entries. lock and unlock
      with which to implement the transactional/atomic semantics for the
      configuration backend.


    • git_index_add and git_index_conflict_add() will now use the case
      as provided by the caller on case insensitive systems. Previous
      versions would keep the case as it existed in the index. This does
      not affect the higher-level git_index_add_bypath or
      git_index_add_frombuffer functions.


    • The notify_payload field of git_diff_options was renamed to payload
      to reflect that it's also the payload for the new progress callback.


    • The git_config_level_t enum has gained a higher-priority value
      GIT_CONFIG_LEVEL_PROGRAMDATA which represent a rough Windows equivalent
      to the system level configuration.


    • git_rebase_init() not also takes a merge options.


    • The index no longer performs locking itself. This is not something
      users of the library should have been relying on as it's not part of
      the concurrency guarantees.
    libgit2 v0.24.0 RC1 发布下载地址
     
正在加载...