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

新闻 Git 2.6.0 RC0 发布 下载

Discussion in '软件资讯' started by 漂亮的石头, 2015-09-03.

  1. 漂亮的石头

    漂亮的石头 版主 Staff Member

    Joined:
    2012-02-10
    Messages:
    487,336
    Likes Received:
    47
    Git 2.6.0 RC0 发布,Git 2.6.0 更新说明如下:

    UI,工作流和新特性

    * An asterisk as a substring (as opposed to the entirety) of a path
    component for both side of a refspec, e.g.
    "refs/heads/o*:refs/remotes/heads/i*", is now allowed.

    * New userdiff pattern definition for fountain screenwriting markup
    format has been added.

    * "git log" and friends learned a new "--date=format:..." option to
    format timestamps using system's strftime(3).

    * "git fast-import" learned to respond to the get-mark command via
    its cat-blob-fd interface.

    * "git rebase -i" learned "drop commit-object-name subject" command
    as another way to skip replaying of a commit.

    * A new configuration variable can enable "--follow" automatically
    when "git log" is run with one pathspec argument.

    * "git status" learned to show a more detailed information regarding
    the "rebase -i" session in progress.

    * "git cat-file" learned "--batch-all-objects" option to enumerate all
    available objects in the repository more quickly than "rev-list
    --all --objects" (the output includes unreachable objects, though).

    * "git fsck" learned to ignore errors on a set of known-to-be-bad
    objects, and also allows the warning levels of various kinds of
    non-critical breakages to be tweaked.

    * "git rebase -i"'s list of todo is made configurable.

    * "git send-email" now performs alias-expansion on names that are
    given via --cccmd, etc.

    * An environment variable GIT_REPLACE_REF_BASE tells Git to look into
    refs hierarchy other than refs/replace/ for the object replacement
    data.

    * Allow untracked cache (experimental) to be used when sparse
    checkout (experimental) is also in use.

    * "git pull --rebase" has been taught to pay attention to
    rebase.autostash configuration.

    * The command-line completion script (in contrib/) has been updated.

    * A negative !ref entry in multi-value transfer.hideRefs
    configuration can be used to say "don't hide this one".

    * After "git am" without "-3" stops, running "git am -" pays attention
    to "-3" only for the patch that caused the original invocation
    to stop.

    * When linked worktree is used, simultaneous "notes merge" instances
    for the same ref in refs/notes/* are prevented from stomping on
    each other.

    * "git send-email" learned a new option --smtp-auth to limit the SMTP
    AUTH mechanisms to be used to a subset of what the system library
    supports.

    * A new configuration variable http.sslVersion can be used to specify
    what specific version of SSL/TLS to use to make a connection.

    * "git notes merge" can be told with "--strategy=<how>" option how to
    automatically handle conflicts; this can now be configured by
    setting notes.mergeStrategy configuration variable.

    * "git log --cc" did not show any patch, even though most of the time
    the user meant "git log --cc -p -m" to see patch output for commits
    with a single parent, and combined diff for merge commits. The
    command is taught to DWIM "--cc" (without "--raw" and other forms
    of output specification) to "--cc -p -m".

    * "git config --list" output was hard to parse when values consist of
    multiple lines. "--name-only" option is added to help this.

    性能,内部实现和开发支持:

    * In preparation for allowing different "backends" to store the refs
    in a way different from the traditional "one ref per file in
    $GIT_DIR or in a $GIT_DIR/packed-refs file" filesystem storage,
    direct filesystem access to ref-like things like CHERRY_PICK_HEAD
    from scripts and programs has been reduced.

    * Computation of untracked status indicator by bash prompt
    script (in contrib/) has been optimized.

    * Memory use reduction when commit-slab facility is used to annotate
    sparsely (which is not recommended in the first place).

    * Clean up refs API and make "git clone" less intimate with the
    implementation detail.

    * "git pull" was reimplemented in C.

    * The packet tracing machinery allows to capture an incoming pack
    data to a file for debugging.

    * Move machinery to parse human-readable scaled numbers like 1k, 4M,
    and 2G as an option parameter's value from pack-objects to
    parse-options API, to make it available to other codepaths.

    * "git verify-tag" and "git verify-commit" have been taught to share
    more code, and then learned to optionally show the verification
    message from the underlying GPG implementation.

    * Various enhancements around "git am" reading patches generated by
    foreign SCM have been made.

    * Ref listing by "git branch -l" and "git tag -l" commands has
    started to be rebuilt, based on the for-each-ref machinery.

    * The code to perform multi-tree merges has been taught to repopulate
    the cache-tree upon a successful merge into the index, so that
    subsequent "diff-index --cached" (hence "status") and "write-tree"
    (hence "commit") will go faster.

    The same logic in "git checkout" may now be removed, but that is a
    separate issue.

    * Tests that assume how reflogs are represented on the filesystem too
    much have been corrected.

    * "git am" has been rewritten in "C".

    * git_path() and mkpath() are handy helper functions but it is easy
    to misuse, as the callers need to be careful to keep the number of
    active results below 4. Their uses have been reduced.

    * The "lockfile" API has been rebuilt on top of a new "tempfile" API.

    * To prepare for allowing a different "ref" backend to be plugged in
    to the system, update_ref()/delete_ref() have been taught about
    ref-like things like MERGE_HEAD that are per-worktree (they will
    always be written to the filesystem inside $GIT_DIR).

    * The gitmodules API that is accessed from the C code learned to
    cache stuff lazily.

    更多内容请看发行说明

    下载:https://github.com/git/git/archive/v2.6.0-rc0.zip
    Git 2.6.0 RC0 发布下载地址
     
Loading...