Skip to content

Update git from 2.21.0 to 2.22.0 #1126

Merged
merged 1 commit into from
Jun 13, 2019
Merged

Commits on Jun 11, 2019

  1. git: Update version from 2.21.0 to 2.22.0

    Excerpt from [Git 2.22 Release Notes][1]:
    
    > Updates since v2.21
    > -------------------
    >
    > Backward compatibility note
    >
    >  * The filter specification "--filter=sparse:path=<path>" used to
    >    create a lazy/partial clone has been removed.  Using a blob that is
    >    part of the project as sparse specification is still supported with
    >    the "--filter=sparse:oid=<blob>" option.
    >
    > UI, Workflows & Features
    >
    >  * "git checkout --no-overlay" can be used to trigger a new mode of
    >    checking out paths out of the tree-ish, that allows paths that
    >    match the pathspec that are in the current index and working tree
    >    and are not in the tree-ish.
    >
    >  * The %(trailers) formatter in "git log --format=..."  now allows to
    >    optionally pick trailers selectively by keyword, show only values,
    >    etc.
    >
    >  * Four new configuration variables {author,committer}.{name,email}
    >    have been introduced to override user.{name,email} in more specific
    >    cases.
    >
    >  * Command-line completion (in contrib/) learned to tab-complete the
    >    "git submodule absorbgitdirs" subcommand.
    >
    >  * "git branch" learned a new subcommand "--show-current".
    >
    >  * Output from "diff --cc" did not show the original paths when the
    >    merge involved renames.  A new option adds the paths in the
    >    original trees to the output.
    >
    >  * The command line completion (in contrib/) has been taught to
    >    complete more subcommand parameters.
    >
    >  * The final report from "git bisect" used to show the suspected
    >    culprit using a raw "diff-tree", with which there is no output for
    >    a merge commit.  This has been updated to use a more modern and
    >    human readable output that still is concise enough.
    >
    >  * "git rebase --rebase-merges" replaces its old "--preserve-merges"
    >    option; the latter is now marked as deprecated.
    >
    >  * Error message given while cloning with --recurse-submodules has
    >    been updated.
    >
    >  * The completion helper code now pays attention to repository-local
    >    configuration (when available), which allows --list-cmds to honour
    >    a repository specific setting of completion.commands, for example.
    >
    >  * "git mergetool" learned to offer Sublime Merge (smerge) as one of
    >    its backends.
    >
    >  * A new hook "post-index-change" is called when the on-disk index
    >    file changes, which can help e.g. a virtualized working tree
    >    implementation.
    >
    >  * "git difftool" can now run outside a repository.
    >
    >  * "git checkout -m <other>" was about carrying the differences
    >    between HEAD and the working-tree files forward while checking out
    >    another branch, and ignored the differences between HEAD and the
    >    index.  The command has been taught to abort when the index and the
    >    HEAD are different.
    >
    >  * A progress indicator has been added to the "index-pack" step, which
    >    often makes users wait for completion during "git clone".
    >
    >  * "git submodule" learns "set-branch" subcommand that allows the
    >    submodule.*.branch settings to be modified.
    >
    >  * "git merge-recursive" backend recently learned a new heuristics to
    >    infer file movement based on how other files in the same directory
    >    moved.  As this is inherently less robust heuristics than the one
    >    based on the content similarity of the file itself (rather than
    >    based on what its neighbours are doing), it sometimes gives an
    >    outcome unexpected by the end users.  This has been toned down to
    >    leave the renamed paths in higher/conflicted stages in the index so
    >    that the user can examine and confirm the result.
    >
    >  * "git tag" learned to give an advice suggesting it might be a
    >    mistake when creating an annotated or signed tag that points at
    >    another tag.
    >
    >  * The "git pack-objects" command learned to report the number of
    >    objects it packed via the trace2 mechanism.
    >
    >  * The list of conflicted paths shown in the editor while concluding a
    >    conflicted merge was shown above the scissors line when the
    >    clean-up mode is set to "scissors", even though it was commented
    >    out just like the list of updated paths and other information to
    >    help the user explain the merge better.
    >
    >  * The trace2 tracing facility learned to auto-generate a filename
    >    when told to log to a directory.
    >
    >  * "git clone" learned a new --server-option option when talking over
    >    the protocol version 2.
    >
    >  * The connectivity bitmaps are created by default in bare
    >    repositories now; also the pathname hash-cache is created by
    >    default to avoid making crappy deltas when repacking.
    >
    >  * "git branch new A...B" and "git checkout -b new A...B" have been
    >    taught that in their contexts, the notation A...B means "the merge
    >    base between these two commits", just like "git checkout A...B"
    >    detaches HEAD at that commit.
    >
    >  * Update "git difftool" and "git mergetool" so that the combinations
    >    of {diff,merge}.{tool,guitool} configuration variables serve as
    >    fallback settings of each other in a sensible order.
    >
    >  * The "--dir-diff" mode of "git difftool" is not useful in "--no-index"
    >    mode; they are now explicitly marked as mutually incompatible.
    >
    > […]
    
    [1]: https://lkml.org/lkml/2019/6/7/1177
    [2]: https://github.blog/2019-06-07-highlights-from-git-2-22/
    pmenzel committed Jun 11, 2019
    Configuration menu
    Copy the full SHA
    9bc665f View commit details
    Browse the repository at this point in the history