Documentation / RelNotes-1.6.2.txton commit completion: For consistency, change "git rev-parse" to __gitdir calls (fa26a40)
   1GIT v1.6.2 Release Notes
   2========================
   3
   4With the next major release, "git push" into a branch that is
   5currently checked out will be refused by default.  You can choose
   6what should happen upon such a push by setting the configuration
   7variable receive.denyCurrentBranch in the receiving repository.
   8
   9To ease the transition plan, the receiving repository of such a
  10push running this release will issue a big warning when the
  11configuration variable is missing.  Please refer to:
  12
  13  http://thread.gmane.org/gmane.comp.version-control.git/107758/focus=108007
  14
  15for more details on the transition plan.
  16
  17
  18Updates since v1.6.1
  19--------------------
  20
  21(subsystems)
  22
  23* git-svn updates.
  24
  25* gitweb updates, including a new patch view and RSS/Atom feed
  26  improvements.
  27
  28* (contrib/emacs) git.el now has commands for checking out a branch,
  29  creating a branch, cherry-picking and reverting commits; vc-git.el
  30  is not shipped with git anymore (it is part of official Emacs).
  31
  32(performance)
  33
  34* pack-objects autodetects the number of CPUs available and uses threaded
  35  version.
  36
  37(usability, bells and whistles)
  38
  39* automatic typo correction works on aliases as well
  40
  41* @{-1} is a way to refer to the last branch you were on.  This is
  42  accepted not only where an object name is expected, but anywhere
  43  a branch name is expected.  E.g. "git branch --track mybranch @{-1}"
  44  "git rev-parse --symbolic-full-name @{-1}".
  45
  46* "git add -p" learned 'g'oto action to jump directly to a hunk.
  47
  48* "git add -p" learned to find a hunk with given text with '/'.
  49
  50* "git add -p" optionally can be told to work with just the command letter
  51  without Enter.
  52
  53* when "git am" stops upon a patch that does not apply, it shows the
  54  title of the offending patch.
  55
  56* "git am --directory=<dir>" and "git am --reject" passes these options
  57  to underlying "git apply".
  58
  59* "git am" learned --ignore-date option.
  60
  61* "git blame" aligns author names better when they are spelled in
  62  non US-ASCII encoding.
  63
  64* "git clone" now makes its best effort when cloning from an empty
  65  repository to set up configuration variables to refer to the remote
  66  repository.
  67
  68* "git checkout -" is a shorthand for "git checkout @{-1}".
  69
  70* "git cherry" defaults to whatever the current branch is tracking (if
  71  exists) when the <upstream> argument is not given.
  72
  73* "git cvsserver" can be told not to add extra "via git-CVS emulator" to
  74  the commit log message it serves via gitcvs.commitmsgannotation
  75  configuration.
  76
  77* "git cvsserver" learned to handle 'noop' command some CVS clients seem
  78  to expect to work.
  79
  80* "git diff" learned a new option --inter-hunk-context to coalesce close
  81  hunks together and show context between them.
  82
  83* The definition of what constitutes a word for "git diff --color-words"
  84  can be customized via gitattributes, command line or a configuration.
  85
  86* "git diff" learned --patience to run "patience diff" algorithm.
  87
  88* "git filter-branch" learned --prune-empty option that discards commits
  89  that do not change the contents.
  90
  91* "git fsck" now checks loose objects in alternate object stores, instead
  92  of misreporting them as missing.
  93
  94* "git grep -w" and "git grep" for fixed strings have been optimized.
  95
  96* "git mergetool" learned -y(--no-prompt) option to disable prompting.
  97
  98* "git rebase -i" can transplant a history down to root to elsewhere
  99  with --root option.
 100
 101* "git reset --merge" is a new mode that works similar to the way
 102  "git checkout" switches branches, taking the local changes while
 103  switching to another commit.
 104
 105* "git tag" learned --contains that works the same way as the same option
 106  from "git branch".
 107
 108
 109Fixes since v1.6.1
 110------------------
 111
 112All of the fixes in v1.6.1.X maintenance series are included in this
 113release, unless otherwise noted.
 114
 115Here are fixes that this release has, but have not been backported to
 116v1.6.1.X series.
 117
 118* "git-add sub/file" when sub is a submodule incorrectly added the path to
 119  the superproject.
 120
 121* "git bundle" did not exclude annotated tags even when a range given
 122  from the command line wanted to.
 123
 124* "git filter-branch" unnecessarily refused to work when you had
 125  checked out a different commit from what is recorded in the superproject
 126  index in a submodule.
 127
 128* "git filter-branch" incorrectly tried to update a nonexistent work tree
 129  at the end when it is run in a bare repository.
 130
 131* "git mergetool" used to ignore autocrlf and other attributes
 132  based content rewriting.
 133
 134* branch switching and merges had a silly bug that did not validate
 135  the correct directory when making sure an existing subdirectory is
 136  clean.
 137
 138* "git -p cmd" when cmd is not a built-in one left the display in funny state
 139  when killed in the middle.
 140
 141--
 142exec >/var/tmp/1
 143O=v1.6.1.3-371-gc19923a
 144echo O=$(git describe master)
 145git shortlog --no-merges $O..master ^maint