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

新闻 Git 2.5.0 RC2 发布 下载

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

  1. 漂亮的石头

    漂亮的石头 版主 Staff Member

    Joined:
    2012-02-10
    Messages:
    487,683
    Likes Received:
    47
    Git 2.5.0 RC2 发布,更新内容如下:

    新特性:

    UI, Workflows & Features

    * The bash completion script (in contrib/) learned a few options that
    "git revert" takes.

    * Whitespace breakages in deleted and context lines can also be
    painted in the output of "git diff" and friends with the new
    --ws-error-highlight option.

    * List of commands shown by "git help" are grouped along the workflow
    elements to help early learners.

    * "git p4" now detects the filetype (e.g. binary) correctly even when
    the files are opened exclusively.

    * git p4 attempts to better handle branches in Perforce.

    * "git p4" learned "--changes-block-size <n>" to read the changes in
    chunks from Perforce, instead of making one call to "p4 changes"
    that may trigger "too many rows scanned" error from Perforce.

    * More workaround for Perforce's row number limit in "git p4".

    * Unlike "$EDITOR" and "$GIT_EDITOR" that can hold the path to the
    command and initial options (e.g. "/path/to/emacs -nw"), 'git p4'
    did not let the shell interpolate the contents of the environment
    variable that name the editor "$P4EDITOR" (and "$EDITOR", too).
    This release makes it in line with the rest of Git, as well as with
    Perforce.

    * A new short-hand <branch>@{push} denotes the remote-tracking branch
    that tracks the branch at the remote the <branch> would be pushed
    to.

    * "git show-branch --topics HEAD" (with no other arguments) did not
    do anything interesting. Instead, contrast the given revision
    against all the local branches by default.

    * A replacement for contrib/workdir/git-new-workdir that does not
    rely on symbolic links and make sharing of objects and refs safer
    by making the borrowee and borrowers aware of each other.

    Consider this as still an experimental feature; its UI is still
    likely to change.

    * Tweak the sample "store" backend of the credential helper to honor
    XDG configuration file locations when specified.

    * A heuristic we use to catch mistyped paths on the command line
    "git <cmd> <revs> <pathspec>" is to make sure that all the non-rev
    parameters in the later part of the command line are names of the
    files in the working tree, but that means "git grep $str -- \*.c"
    must always be disambiguated with "--", because nobody sane will
    create a file whose name literally is asterisk-dot-see. Loosen the
    heuristic to declare that with a wildcard string the user likely
    meant to give us a pathspec.

    * "git merge FETCH_HEAD" learned that the previous "git fetch" could
    be to create an Octopus merge, i.e. recording multiple branches
    that are not marked as "not-for-merge"; this allows us to lose an
    old style invocation "git merge <msg> HEAD $commits..." in the
    implementation of "git pull" script; the old style syntax can now
    be deprecated (but not removed yet).

    * Filter scripts were run with SIGPIPE disabled on the Git side,
    expecting that they may not read what Git feeds them to filter.
    We however treated a filter that does not read its input fully
    before exiting as an error. We no longer do and ignore EPIPE
    when writing to feed the filter scripts.

    This changes semantics, but arguably in a good way. If a filter
    can produce its output without fully consuming its input using
    whatever magic, we now let it do so, instead of diagnosing it
    as a programming error.

    * Instead of dying immediately upon failing to obtain a lock, the
    locking (of refs etc) retries after a short while with backoff.

    * Introduce http.<url>.SSLCipherList configuration variable to tweak
    the list of cipher suite to be used with libcURL when talking with
    https:// sites.

    * "git subtree" script (in contrib/) used "echo -n" to produce
    progress messages in a non-portable way.

    * "git subtree" script (in contrib/) does not have --squash option
    when pushing, but the documentation and help text pretended as if
    it did.

    * The Git subcommand completion (in contrib/) no longer lists credential
    helpers among candidates; they are not something the end user would
    invoke interactively.

    * The index file can be taught with "update-index --untracked-cache"
    to optionally remember already seen untracked files, in order to
    speed up "git status" in a working tree with tons of cruft.

    * "git mergetool" learned to drive WinMerge as a backend.

    * "git upload-pack" that serves "git fetch" can be told to serve
    commits that are not at the tip of any ref, as long as they are
    reachable from a ref, with uploadpack.allowReachableSHA1InWant
    configuration variable.

    * "git cat-file --batch(-check)" learned the "--follow-symlinks"
    option that follows an in-tree symbolic link when asked about an
    object via extended SHA-1 syntax, e.g. HEAD:RelNotes that points at
    Documentation/RelNotes/2.5.0.txt. With the new option, the command
    behaves as if HEAD:Documentation/RelNotes/2.5.0.txt was given as
    input instead.

    尝试性和未完成特性:

    - We may want to do the same for in-index objects, e.g.
    asking for :RelNotes with this option should give
    :Documentation/RelNotes/2.5.0.txt, too

    - "git cat-file --follow-symlinks blob HEAD:RelNotes"
    may also be something we want to allow in the future.

    * "git send-email" learned the alias file format used by the sendmail
    program (in a simplified form; we obviously do not feed pipes).

    * "git am" learned am.threeWay configuration variable.

    * Traditionally, external low-level 3-way merge drivers are expected
    to produce their results based solely on the contents of the three
    variants given in temporary files named by %O, %A and %B on their
    command line.

    * "git blame" learned blame.showEmail configuration variable.

    * "git apply" cannot diagnose a patch corruption when the breakage is
    to mark the length of the hunk shorter than it really is on the
    hunk header line "@@ -l,k +m,n @@"; one special case it could is
    when the hunk becomes no-op (e.g. k == n == 2 for two-line context
    patch output), and it learned to do so in this special case.

    * Add the "--allow-unknown-type" option to "cat-file" to allow
    inspecting loose objects of an experimental or a broken type.

    * Many long-running operations show progress eye-candy, even when
    they are later backgrounded.

    其他改进和 bug 修复请看发行说明
    Git 2.5.0 RC2 发布下载地址
     
Loading...