You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
164 lines
5.8 KiB
164 lines
5.8 KiB
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 "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.
|
|
|