blob: ad060f4f8900dde20b66e1b6ef5b0187cdc82983 [file] [log] [blame]
Junio C Hamano2fa431b2008-12-28 01:26:231GIT v1.6.2 Release Notes
2========================
3
Junio C Hamanoe5bf6c12009-02-07 21:43:104With 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
Junio C Hamano8bc410e2009-02-15 10:38:1913 http://git.or.cz/gitwiki/GitFaq#non-bare
Junio C Hamanoe5bf6c12009-02-07 21:43:1014 http://thread.gmane.org/gmane.comp.version-control.git/107758/focus=108007
15
Junio C Hamano8bc410e2009-02-15 10:38:1916for more details on the reason why this change is needed and the
17transition plan.
18
19For a similar reason, "git push $there :$killed" to delete the branch
20$killed in a remote repository $there, if $killed branch is the current
21branch pointed at by its HEAD, gets a large warning. You can choose what
22should happen upon such a push by setting the configuration variable
23receive.denyDeleteCurrent in the receiving repository.
Junio C Hamanoe5bf6c12009-02-07 21:43:1024
25
Junio C Hamano2fa431b2008-12-28 01:26:2326Updates since v1.6.1
27--------------------
28
29(subsystems)
30
Junio C Hamano543c5e02009-01-29 10:17:0831* git-svn updates.
32
33* gitweb updates, including a new patch view and RSS/Atom feed
34 improvements.
35
Junio C Hamano5be7f3b2009-02-11 08:34:0736* (contrib/emacs) git.el now has commands for checking out a branch,
37 creating a branch, cherry-picking and reverting commits; vc-git.el
38 is not shipped with git anymore (it is part of official Emacs).
Junio C Hamano2fa431b2008-12-28 01:26:2339
40(performance)
41
Junio C Hamanoa3148f52009-01-14 08:49:5742* pack-objects autodetects the number of CPUs available and uses threaded
43 version.
44
Junio C Hamano2fa431b2008-12-28 01:26:2345(usability, bells and whistles)
46
Junio C Hamano543c5e02009-01-29 10:17:0847* automatic typo correction works on aliases as well
Junio C Hamanoa3148f52009-01-14 08:49:5748
Junio C Hamano543c5e02009-01-29 10:17:0849* @{-1} is a way to refer to the last branch you were on. This is
50 accepted not only where an object name is expected, but anywhere
Junio C Hamano8bc410e2009-02-15 10:38:1951 a branch name is expected and acts as if you typed the branch name.
52 E.g. "git branch --track mybranch @{-1}", "git merge @{-1}", and
53 "git rev-parse --symbolic-full-name @{-1}" would work as expected.
54
55* When refs/remotes/origin/HEAD points at a remote tracking branch that
56 has been pruned away, many git operations issued warning when they
57 internally enumerated the refs. We now warn only when you say "origin"
58 to refer to that pruned branch.
59
60* The location of .mailmap file can be configured, and its file format was
61 enhanced to allow mapping an incorrect e-mail field as well.
Junio C Hamanoa3148f52009-01-14 08:49:5762
Junio C Hamano543c5e02009-01-29 10:17:0863* "git add -p" learned 'g'oto action to jump directly to a hunk.
Junio C Hamanoa3148f52009-01-14 08:49:5764
Junio C Hamanoe5bf6c12009-02-07 21:43:1065* "git add -p" learned to find a hunk with given text with '/'.
66
67* "git add -p" optionally can be told to work with just the command letter
68 without Enter.
69
Junio C Hamano543c5e02009-01-29 10:17:0870* when "git am" stops upon a patch that does not apply, it shows the
71 title of the offending patch.
72
73* "git am --directory=<dir>" and "git am --reject" passes these options
74 to underlying "git apply".
75
Junio C Hamanoe5bf6c12009-02-07 21:43:1076* "git am" learned --ignore-date option.
77
78* "git blame" aligns author names better when they are spelled in
79 non US-ASCII encoding.
80
Junio C Hamano543c5e02009-01-29 10:17:0881* "git clone" now makes its best effort when cloning from an empty
82 repository to set up configuration variables to refer to the remote
83 repository.
84
85* "git checkout -" is a shorthand for "git checkout @{-1}".
86
87* "git cherry" defaults to whatever the current branch is tracking (if
88 exists) when the <upstream> argument is not given.
89
90* "git cvsserver" can be told not to add extra "via git-CVS emulator" to
91 the commit log message it serves via gitcvs.commitmsgannotation
92 configuration.
93
Junio C Hamanoe5bf6c12009-02-07 21:43:1094* "git cvsserver" learned to handle 'noop' command some CVS clients seem
95 to expect to work.
96
Junio C Hamano543c5e02009-01-29 10:17:0897* "git diff" learned a new option --inter-hunk-context to coalesce close
Junio C Hamanoa3148f52009-01-14 08:49:5798 hunks together and show context between them.
99
Junio C Hamano543c5e02009-01-29 10:17:08100* The definition of what constitutes a word for "git diff --color-words"
101 can be customized via gitattributes, command line or a configuration.
102
103* "git diff" learned --patience to run "patience diff" algorithm.
104
Junio C Hamano543c5e02009-01-29 10:17:08105* "git filter-branch" learned --prune-empty option that discards commits
Junio C Hamanoa3148f52009-01-14 08:49:57106 that do not change the contents.
107
Junio C Hamanoe5bf6c12009-02-07 21:43:10108* "git fsck" now checks loose objects in alternate object stores, instead
109 of misreporting them as missing.
110
Junio C Hamano8bc410e2009-02-15 10:38:19111* "git gc --prune" was resurrected to allow "git gc --no-prune" and
112 giving non-default expiration period e.g. "git gc --prune=now".
113
Junio C Hamano543c5e02009-01-29 10:17:08114* "git grep -w" and "git grep" for fixed strings have been optimized.
115
Junio C Hamano543c5e02009-01-29 10:17:08116* "git mergetool" learned -y(--no-prompt) option to disable prompting.
Junio C Hamanoa3148f52009-01-14 08:49:57117
Junio C Hamano543c5e02009-01-29 10:17:08118* "git rebase -i" can transplant a history down to root to elsewhere
119 with --root option.
120
121* "git reset --merge" is a new mode that works similar to the way
Junio C Hamanoa3148f52009-01-14 08:49:57122 "git checkout" switches branches, taking the local changes while
123 switching to another commit.
124
Junio C Hamano8bc410e2009-02-15 10:38:19125* "git submodule update" learned --no-fetch option.
126
Junio C Hamanoe5bf6c12009-02-07 21:43:10127* "git tag" learned --contains that works the same way as the same option
128 from "git branch".
Junio C Hamano2fa431b2008-12-28 01:26:23129
130
131Fixes since v1.6.1
132------------------
133
134All of the fixes in v1.6.1.X maintenance series are included in this
135release, unless otherwise noted.
136
Junio C Hamanoe5bf6c12009-02-07 21:43:10137Here are fixes that this release has, but have not been backported to
138v1.6.1.X series.
139
Junio C Hamanoa3148f52009-01-14 08:49:57140* "git-add sub/file" when sub is a submodule incorrectly added the path to
141 the superproject.
142
Junio C Hamanoe5bf6c12009-02-07 21:43:10143* "git bundle" did not exclude annotated tags even when a range given
144 from the command line wanted to.
145
146* "git filter-branch" unnecessarily refused to work when you had
147 checked out a different commit from what is recorded in the superproject
148 index in a submodule.
149
150* "git filter-branch" incorrectly tried to update a nonexistent work tree
151 at the end when it is run in a bare repository.
152
Junio C Hamanocfd0b9a2009-02-26 01:18:49153* "git gc" did not work if your repository was created with an ancient git
154 and never had any pack files in it before.
155
Junio C Hamanoe5bf6c12009-02-07 21:43:10156* "git mergetool" used to ignore autocrlf and other attributes
157 based content rewriting.
Junio C Hamanoa3148f52009-01-14 08:49:57158
Junio C Hamanoa3148f52009-01-14 08:49:57159* branch switching and merges had a silly bug that did not validate
160 the correct directory when making sure an existing subdirectory is
161 clean.
162
Junio C Hamanoe5bf6c12009-02-07 21:43:10163* "git -p cmd" when cmd is not a built-in one left the display in funny state
164 when killed in the middle.