Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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/
- Loading branch information