1 GIT v1.6.4 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://git.or.cz/gitwiki/GitFaq#non-bare
14 http://thread.gmane.org/gmane.comp.version-control.git/107758/focus=108007
16 for more details on the reason why this change is needed and the
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.
31 * gitweb Perl style clean-up.
33 * git-svn updates, including a new --authors-prog option to map author
34 names by invoking an external program, 'git svn reset' to unwind
35 'git svn fetch', support for more than one branches, etc.
39 * We feed iconv with "UTF-8" instead of "utf8"; the former is
40 understood more widely. Similarly updated test scripts to use
41 encoding names more widely understood (e.g. use "ISO8859-1" instead
44 * Various portability fixes/workarounds for different vintages of
45 SunOS, IRIX, and Windows.
47 * Git-over-ssh transport on Windows supports PuTTY plink and TortoisePlink.
51 * Many repeated use of lstat() are optimized out in "checkout" codepath.
53 * git-status (and underlying git-diff-index --cached) are optimized
54 to take advantage of cache-tree information in the index.
56 (usability, bells and whistles)
58 * "git add --edit" lets users edit the whole patch text to fine-tune what
59 is added to the index.
61 * "git am" accepts StGIT series file as its input.
63 * "git bisect skip" skips to a more randomly chosen place in the hope
64 to avoid testing a commit that is too close to a commit that is
65 already known to be untestable.
67 * "git cvsexportcommit" learned -k option to stop CVS keywords expansion
69 * "git grep" learned -p option to show the location of the match using the
70 same context hunk marker "git diff" uses.
72 * https transport can optionally be told that the used client
73 certificate is password protected, in which case it asks the
76 * "git imap-send" is IPv6 aware.
78 * "git log --graph" draws graphs more compactly by using horizonal lines
81 * "git log --decorate" shows shorter refnames by stripping well-known
84 * "git push $name" honors remote.$name.pushurl if present before
85 using remote.$name.url. In other words, the URL used for fetching
86 and pushing can be different.
88 * "git send-email" understands quoted aliases in .mailrc files (might
89 have to be backported to 1.6.3.X).
91 * "git send-email" can fetch the sender address from the configuration
92 variable "sendmail.from" (and "sendmail.<identity>.from").
94 * "git show-branch" can color its output.
96 * "add" and "update" subcommands to "git submodule" learned --reference
97 option to use local clone with references.
99 * "git submodule update" learned --rebase option to update checked
100 out submodules by rebasing the local changes.
102 * "gitweb" can optionally use gravatar to adorn author/committer names.
106 * A major part of the "git bisect" wrapper has moved to C.
111 All of the fixes in v1.6.3.X maintenance series are included in this
112 release, unless otherwise noted.
114 Here are fixes that this release has, but have not been backported to
117 * "git diff-tree -r -t" used to omit new or removed directories from
118 the output. df533f3 (diff-tree -r -t: include added/removed
119 directories in the output, 2009-06-13) may need to be cherry-picked
120 to backport this fix.
122 * The way Git.pm sets up a Repository object was not friendly to callers
123 that chdir around. It now internally records the repository location
124 as an absolute path when autodetected.
126 * Removing a section with "git config --remove-section", when its
127 section header has a variable definition on the same line, lost
128 that variable definition.
130 * "git repack" used to faithfully follow grafts and considered true
131 parents recorded in the commit object unreachable from the commit.
132 After such a repacking, you cannot remove grafts without corrupting
135 * "git send-email" did not detect errorneous loops in alias expansion.
139 echo O=$(git describe master)
140 O=v1.6.4-rc2-17-g130b04a
141 git shortlog --no-merges $O..master ^maint