| GIT v1.6.2 Release Notes | 
 | ======================== | 
 |  | 
 | With the next major release, "git push" into a branch that is | 
 | currently checked out will be refused by default.  You can choose | 
 | what should happen upon such a push by setting the configuration | 
 | variable receive.denyCurrentBranch in the receiving repository. | 
 |  | 
 | To ease the transition plan, the receiving repository of such a | 
 | push running this release will issue a big warning when the | 
 | configuration variable is missing.  Please refer to: | 
 |  | 
 |   http://git.or.cz/gitwiki/GitFaq#non-bare | 
 |   https://lore.kernel.org/git/7vbptlsuyv.fsf@gitster.siamese.dyndns.org/ | 
 |  | 
 | for more details on the reason why this change is needed and the | 
 | transition plan. | 
 |  | 
 | For a similar reason, "git push $there :$killed" to delete the branch | 
 | $killed in a remote repository $there, if $killed branch is the current | 
 | branch pointed at by its HEAD, gets a large warning.  You can choose what | 
 | should happen upon such a push by setting the configuration variable | 
 | receive.denyDeleteCurrent in the receiving repository. | 
 |  | 
 |  | 
 | Updates since v1.6.1 | 
 | -------------------- | 
 |  | 
 | (subsystems) | 
 |  | 
 | * git-svn updates. | 
 |  | 
 | * gitweb updates, including a new patch view and RSS/Atom feed | 
 |   improvements. | 
 |  | 
 | * (contrib/emacs) git.el now has commands for checking out a branch, | 
 |   creating a branch, cherry-picking and reverting commits; vc-git.el | 
 |   is not shipped with git anymore (it is part of official Emacs). | 
 |  | 
 | (performance) | 
 |  | 
 | * pack-objects autodetects the number of CPUs available and uses threaded | 
 |   version. | 
 |  | 
 | (usability, bells and whistles) | 
 |  | 
 | * automatic typo correction works on aliases as well | 
 |  | 
 | * @{-1} is a way to refer to the last branch you were on.  This is | 
 |   accepted not only where an object name is expected, but anywhere | 
 |   a branch name is expected and acts as if you typed the branch name. | 
 |   E.g. "git branch --track mybranch @{-1}", "git merge @{-1}", and | 
 |   "git rev-parse --symbolic-full-name @{-1}" would work as expected. | 
 |  | 
 | * When refs/remotes/origin/HEAD points at a remote tracking branch that | 
 |   has been pruned away, many git operations issued warning when they | 
 |   internally enumerated the refs.  We now warn only when you say "origin" | 
 |   to refer to that pruned branch. | 
 |  | 
 | * The location of .mailmap file can be configured, and its file format was | 
 |   enhanced to allow mapping an incorrect e-mail field as well. | 
 |  | 
 | * "git add -p" learned 'g'oto action to jump directly to a hunk. | 
 |  | 
 | * "git add -p" learned to find a hunk with given text with '/'. | 
 |  | 
 | * "git add -p" optionally can be told to work with just the command letter | 
 |   without Enter. | 
 |  | 
 | * when "git am" stops upon a patch that does not apply, it shows the | 
 |   title of the offending patch. | 
 |  | 
 | * "git am --directory=<dir>" and "git am --reject" passes these options | 
 |   to underlying "git apply". | 
 |  | 
 | * "git am" learned --ignore-date option. | 
 |  | 
 | * "git blame" aligns author names better when they are spelled in | 
 |   non US-ASCII encoding. | 
 |  | 
 | * "git clone" now makes its best effort when cloning from an empty | 
 |   repository to set up configuration variables to refer to the remote | 
 |   repository. | 
 |  | 
 | * "git checkout -" is a shorthand for "git checkout @{-1}". | 
 |  | 
 | * "git cherry" defaults to whatever the current branch is tracking (if | 
 |   exists) when the <upstream> argument is not given. | 
 |  | 
 | * "git cvsserver" can be told not to add extra "via git-CVS emulator" to | 
 |   the commit log message it serves via gitcvs.commitmsgannotation | 
 |   configuration. | 
 |  | 
 | * "git cvsserver" learned to handle 'noop' command some CVS clients seem | 
 |   to expect to work. | 
 |  | 
 | * "git diff" learned a new option --inter-hunk-context to coalesce close | 
 |   hunks together and show context between them. | 
 |  | 
 | * The definition of what constitutes a word for "git diff --color-words" | 
 |   can be customized via gitattributes, command line or a configuration. | 
 |  | 
 | * "git diff" learned --patience to run "patience diff" algorithm. | 
 |  | 
 | * "git filter-branch" learned --prune-empty option that discards commits | 
 |   that do not change the contents. | 
 |  | 
 | * "git fsck" now checks loose objects in alternate object stores, instead | 
 |   of misreporting them as missing. | 
 |  | 
 | * "git gc --prune" was resurrected to allow "git gc --no-prune" and | 
 |   giving non-default expiration period e.g. "git gc --prune=now". | 
 |  | 
 | * "git grep -w" and "git grep" for fixed strings have been optimized. | 
 |  | 
 | * "git mergetool" learned -y(--no-prompt) option to disable prompting. | 
 |  | 
 | * "git rebase -i" can transplant a history down to root to elsewhere | 
 |   with --root option. | 
 |  | 
 | * "git reset --merge" is a new mode that works similar to the way | 
 |   "git checkout" switches branches, taking the local changes while | 
 |   switching to another commit. | 
 |  | 
 | * "git submodule update" learned --no-fetch option. | 
 |  | 
 | * "git tag" learned --contains that works the same way as the same option | 
 |   from "git branch". | 
 |  | 
 |  | 
 | Fixes since v1.6.1 | 
 | ------------------ | 
 |  | 
 | All of the fixes in v1.6.1.X maintenance series are included in this | 
 | release, unless otherwise noted. | 
 |  | 
 | Here are fixes that this release has, but have not been backported to | 
 | v1.6.1.X series. | 
 |  | 
 | * "git-add sub/file" when sub is a submodule incorrectly added the path to | 
 |   the superproject. | 
 |  | 
 | * "git bundle" did not exclude annotated tags even when a range given | 
 |   from the command line wanted to. | 
 |  | 
 | * "git filter-branch" unnecessarily refused to work when you had | 
 |   checked out a different commit from what is recorded in the superproject | 
 |   index in a submodule. | 
 |  | 
 | * "git filter-branch" incorrectly tried to update a nonexistent work tree | 
 |   at the end when it is run in a bare repository. | 
 |  | 
 | * "git gc" did not work if your repository was created with an ancient git | 
 |   and never had any pack files in it before. | 
 |  | 
 | * "git mergetool" used to ignore autocrlf and other attributes | 
 |   based content rewriting. | 
 |  | 
 | * branch switching and merges had a silly bug that did not validate | 
 |   the correct directory when making sure an existing subdirectory is | 
 |   clean. | 
 |  | 
 | * "git -p cmd" when cmd is not a built-in one left the display in funny state | 
 |   when killed in the middle. |