GIT v1.6.2 Release Notes ======================== Updates since v1.6.1 -------------------- (subsystems) * git-svn updates. * gitweb updates, including a new patch view and RSS/Atom feed improvements. (portability) (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. E.g. "git branch --track mybranch @{-1}" "git rev-parse --symbolic-full-name @{-1}". * "git add -p" learned 'g'oto action to jump directly to a hunk. * 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 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 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. * Some combinations of -b/-w/--ignore-space-at-eol to "git diff" did not work as expected. * "git filter-branch" learned --prune-empty option that discards commits that do not change the contents. * "git grep -w" and "git grep" for fixed strings have been optimized. * "git log" and friends include HEAD to the set of starting points when --all is given. This makes a difference when you are not on any branch. * "git ls-tree" learned --full-tree option that shows the path in full regardless of where in the work tree hierarchy the command was started. * "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. (internal) Fixes since v1.6.1 ------------------ All of the fixes in v1.6.1.X maintenance series are included in this release, unless otherwise noted. * "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. * branch switching and merges had a silly bug that did not validate the correct directory when making sure an existing subdirectory is clean. -- exec >/var/tmp/1 O=v1.6.1.2-252-g8c95d3c echo O=$(git describe master) git shortlog --no-merges $O..master ^maint