Junio C Hamano | 2fa431b | 2008-12-28 01:26:23 | [diff] [blame] | 1 | GIT v1.6.2 Release Notes |
| 2 | ======================== |
| 3 | |
Junio C Hamano | e5bf6c1 | 2009-02-07 21:43:10 | [diff] [blame] | 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. |
| 8 | |
| 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: |
| 12 | |
Junio C Hamano | 8bc410e | 2009-02-15 10:38:19 | [diff] [blame] | 13 | http://git.or.cz/gitwiki/GitFaq#non-bare |
Junio C Hamano | e5bf6c1 | 2009-02-07 21:43:10 | [diff] [blame] | 14 | http://thread.gmane.org/gmane.comp.version-control.git/107758/focus=108007 |
| 15 | |
Junio C Hamano | 8bc410e | 2009-02-15 10:38:19 | [diff] [blame] | 16 | for more details on the reason why this change is needed and the |
| 17 | transition plan. |
| 18 | |
| 19 | For a similar reason, "git push $there :$killed" to delete the branch |
| 20 | $killed in a remote repository $there, if $killed branch is the current |
| 21 | branch pointed at by its HEAD, gets a large warning. You can choose what |
| 22 | should happen upon such a push by setting the configuration variable |
| 23 | receive.denyDeleteCurrent in the receiving repository. |
Junio C Hamano | e5bf6c1 | 2009-02-07 21:43:10 | [diff] [blame] | 24 | |
| 25 | |
Junio C Hamano | 2fa431b | 2008-12-28 01:26:23 | [diff] [blame] | 26 | Updates since v1.6.1 |
| 27 | -------------------- |
| 28 | |
| 29 | (subsystems) |
| 30 | |
Junio C Hamano | 543c5e0 | 2009-01-29 10:17:08 | [diff] [blame] | 31 | * git-svn updates. |
| 32 | |
| 33 | * gitweb updates, including a new patch view and RSS/Atom feed |
| 34 | improvements. |
| 35 | |
Junio C Hamano | 5be7f3b | 2009-02-11 08:34:07 | [diff] [blame] | 36 | * (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 Hamano | 2fa431b | 2008-12-28 01:26:23 | [diff] [blame] | 39 | |
| 40 | (performance) |
| 41 | |
Junio C Hamano | a3148f5 | 2009-01-14 08:49:57 | [diff] [blame] | 42 | * pack-objects autodetects the number of CPUs available and uses threaded |
| 43 | version. |
| 44 | |
Junio C Hamano | 2fa431b | 2008-12-28 01:26:23 | [diff] [blame] | 45 | (usability, bells and whistles) |
| 46 | |
Junio C Hamano | 543c5e0 | 2009-01-29 10:17:08 | [diff] [blame] | 47 | * automatic typo correction works on aliases as well |
Junio C Hamano | a3148f5 | 2009-01-14 08:49:57 | [diff] [blame] | 48 | |
Junio C Hamano | 543c5e0 | 2009-01-29 10:17:08 | [diff] [blame] | 49 | * @{-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 Hamano | 8bc410e | 2009-02-15 10:38:19 | [diff] [blame] | 51 | 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 Hamano | a3148f5 | 2009-01-14 08:49:57 | [diff] [blame] | 62 | |
Junio C Hamano | 543c5e0 | 2009-01-29 10:17:08 | [diff] [blame] | 63 | * "git add -p" learned 'g'oto action to jump directly to a hunk. |
Junio C Hamano | a3148f5 | 2009-01-14 08:49:57 | [diff] [blame] | 64 | |
Junio C Hamano | e5bf6c1 | 2009-02-07 21:43:10 | [diff] [blame] | 65 | * "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 Hamano | 543c5e0 | 2009-01-29 10:17:08 | [diff] [blame] | 70 | * 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 Hamano | e5bf6c1 | 2009-02-07 21:43:10 | [diff] [blame] | 76 | * "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 Hamano | 543c5e0 | 2009-01-29 10:17:08 | [diff] [blame] | 81 | * "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 Hamano | e5bf6c1 | 2009-02-07 21:43:10 | [diff] [blame] | 94 | * "git cvsserver" learned to handle 'noop' command some CVS clients seem |
| 95 | to expect to work. |
| 96 | |
Junio C Hamano | 543c5e0 | 2009-01-29 10:17:08 | [diff] [blame] | 97 | * "git diff" learned a new option --inter-hunk-context to coalesce close |
Junio C Hamano | a3148f5 | 2009-01-14 08:49:57 | [diff] [blame] | 98 | hunks together and show context between them. |
| 99 | |
Junio C Hamano | 543c5e0 | 2009-01-29 10:17:08 | [diff] [blame] | 100 | * 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 Hamano | 543c5e0 | 2009-01-29 10:17:08 | [diff] [blame] | 105 | * "git filter-branch" learned --prune-empty option that discards commits |
Junio C Hamano | a3148f5 | 2009-01-14 08:49:57 | [diff] [blame] | 106 | that do not change the contents. |
| 107 | |
Junio C Hamano | e5bf6c1 | 2009-02-07 21:43:10 | [diff] [blame] | 108 | * "git fsck" now checks loose objects in alternate object stores, instead |
| 109 | of misreporting them as missing. |
| 110 | |
Junio C Hamano | 8bc410e | 2009-02-15 10:38:19 | [diff] [blame] | 111 | * "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 Hamano | 543c5e0 | 2009-01-29 10:17:08 | [diff] [blame] | 114 | * "git grep -w" and "git grep" for fixed strings have been optimized. |
| 115 | |
Junio C Hamano | 543c5e0 | 2009-01-29 10:17:08 | [diff] [blame] | 116 | * "git mergetool" learned -y(--no-prompt) option to disable prompting. |
Junio C Hamano | a3148f5 | 2009-01-14 08:49:57 | [diff] [blame] | 117 | |
Junio C Hamano | 543c5e0 | 2009-01-29 10:17:08 | [diff] [blame] | 118 | * "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 Hamano | a3148f5 | 2009-01-14 08:49:57 | [diff] [blame] | 122 | "git checkout" switches branches, taking the local changes while |
| 123 | switching to another commit. |
| 124 | |
Junio C Hamano | 8bc410e | 2009-02-15 10:38:19 | [diff] [blame] | 125 | * "git submodule update" learned --no-fetch option. |
| 126 | |
Junio C Hamano | e5bf6c1 | 2009-02-07 21:43:10 | [diff] [blame] | 127 | * "git tag" learned --contains that works the same way as the same option |
| 128 | from "git branch". |
Junio C Hamano | 2fa431b | 2008-12-28 01:26:23 | [diff] [blame] | 129 | |
| 130 | |
| 131 | Fixes since v1.6.1 |
| 132 | ------------------ |
| 133 | |
| 134 | All of the fixes in v1.6.1.X maintenance series are included in this |
| 135 | release, unless otherwise noted. |
| 136 | |
Junio C Hamano | e5bf6c1 | 2009-02-07 21:43:10 | [diff] [blame] | 137 | Here are fixes that this release has, but have not been backported to |
| 138 | v1.6.1.X series. |
| 139 | |
Junio C Hamano | a3148f5 | 2009-01-14 08:49:57 | [diff] [blame] | 140 | * "git-add sub/file" when sub is a submodule incorrectly added the path to |
| 141 | the superproject. |
| 142 | |
Junio C Hamano | e5bf6c1 | 2009-02-07 21:43:10 | [diff] [blame] | 143 | * "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 Hamano | cfd0b9a | 2009-02-26 01:18:49 | [diff] [blame] | 153 | * "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 Hamano | e5bf6c1 | 2009-02-07 21:43:10 | [diff] [blame] | 156 | * "git mergetool" used to ignore autocrlf and other attributes |
| 157 | based content rewriting. |
Junio C Hamano | a3148f5 | 2009-01-14 08:49:57 | [diff] [blame] | 158 | |
Junio C Hamano | a3148f5 | 2009-01-14 08:49:57 | [diff] [blame] | 159 | * 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 Hamano | e5bf6c1 | 2009-02-07 21:43:10 | [diff] [blame] | 163 | * "git -p cmd" when cmd is not a built-in one left the display in funny state |
| 164 | when killed in the middle. |