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
  http://thread.gmane.org/gmane.comp.version-control.git/107758/focus=108007

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 m --direct;
                                                                                                                                                                                                                                                                                                                                                                                                     ./usr/share/doc/git/RelNotes-1.5.4.5.txt                                                            0000644 0000000 0000000 00000004301 11636766750 016275  0                                                                                                    ustar   root                            root                                                                                                                                                                                                                   GIT v1.5.4.5 Release Notes
==========================

Fixes since v1.5.4.4
--------------------

 * "git fetch there" when the URL information came from the Cogito style
   branches/there file did not update refs/heads/there (regression in
   1.5.4).

 * Bogus refspec configuration such as "remote.there.fetch = =" were not
   detected as errors (regression in 1.5.4).

 * You couldn't specify a custom editor whose path contains a whitespace
   via GIT_EDITOR (and core.editor).

 * The subdirectory filter to "git filter-branch" mishandled a history
   where the subdirectory becomes empty and then later becomes non-empty.

 * "git shortlog" gave an empty line if the original commit message was
   malformed (e.g. a botched import from foreign SCM).  Now it finds the
   first non-empty line and uses it for better information.

 * When the user fails to give a revision parameter to "git svn", an error
   from the Perl interpreter was issued because the script lacked proper
   error checking.

 * After "git rebase" stopped due to conflicts, if the user played with
   "git reset" and friends, "git rebase --abort" failed to go back to the
   correct commit.

 * Additional work trees prepared with git-new-workdir (in contrib/) did
   not share git-svn metadata directory .git/svn with the original.

 * "git-merge-recursive" did not mark addition of the same path with
   different filemodes correctly as a conflict.

 * "gitweb" gave malformed URL when pathinfo stype paths are in use.

 * "-n" stands for "--no-tags" again for "git fetch".

 * "git format-patch" did not detect the need to add 8-bit MIME header
   when the user used format.header configuration.

 * "rev~" revision specifier used to mean "rev", which was inconsistent
   with how "rev^" worked.  Now "rev~" is the same as "rev~1" (hence it
   also is the same as "rev^1"), and "rev~0" is the same as "rev^0"
   (i.e. it has to be a commit).

 * "git quiltimport" did not grok empty lines, lines in "file -pNNN"
   format to specify the prefix levels and lines with trailing comments.

 * "git rebase -m" triggered pre-commit verification, which made
   "rebase --continue" impossible.

As usual, it also comes with many documentation fixes and clarifications.
                                                                  