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