1GIT v1.6.3 Release Notes 2======================== 3 4With 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 13 http://git.or.cz/gitwiki/GitFaq#non-bare 14 http://thread.gmane.org/gmane.comp.version-control.git/107758/focus=108007 15 16for 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. 24 25When the user does not tell "git push" what to push, it has always 26pushed matching refs. For some people it is unexpected, and a new 27configuration variable push.default has been introduced to allow 28changing a different default behaviour. To advertise the new feature, 29a big warning is issued if this is not configured and a git push without 30arguments is attempted. 31 32 33Updates since v1.6.2 34-------------------- 35 36(subsystems) 37 38* various git-svn updates. 39 40* git-gui updates, including an update to Russian translation, and a 41 fix to an infinite loop when showing an empty diff. 42 43* gitk updates, including an update to Russian translation and improved Windows 44 support. 45 46(performance) 47 48* many uses of lstat(2) in the codepath for "git checkout" have been 49 optimized out. 50 51(usability, bells and whistles) 52 53* Boolean configuration variable yes/no can be written as on/off. 54 55* rsync:/path/to/repo can be used to run git over rsync for local 56 repositories. It may not be useful in practice; meant primarily for 57 testing. 58 59* http transport learned to prompt and use password when fetching from or 60 pushing to http://user@host.xz/ URL. 61 62* (msysgit) progress output that is sent over the sideband protocol can 63 be handled appropriately in Windows console. 64 65* "--pretty=<style>" option to the log family of commands can now be 66 spelled as "--format=<style>". In addition, --format=%formatstring 67 is a short-hand for --pretty=tformat:%formatstring. 68 69* "--oneline" is a synonym for "--pretty=oneline --abbrev-commit". 70 71* "--graph" to the "git log" family can draw the commit ancestry graph 72 in colors. 73 74* If you realize that you botched the patch when you are editing hunks 75 with the 'edit' action in git-add -i/-p, you can abort the editor to 76 tell git not to apply it. 77 78* @{-1} is a new way to refer to the last branch you were on introduced in 79 1.6.2, but the initial implementation did not teach this to a few 80 commands. Now the syntax works with "branch -m @{-1} newname". 81 82* git-archive learned --output=<file> option. 83 84* git-archive takes attributes from the tree being archived; strictly 85 speaking, this is an incompatible behaviour change, but is a good one. 86 Use --worktree-attributes option to allow it to read attributes from 87 the work tree as before (deprecated git-tar tree command always reads 88 attributes from the work tree). 89 90* git-bisect shows not just the number of remaining commits whose goodness 91 is unknown, but also shows the estimated number of remaining rounds. 92 93* You can give --date=<format> option to git-blame. 94 95* "git-branch -r" shows HEAD symref that points at a remote branch in 96 interest of each tracked remote repository. 97 98* "git-branch -v -v" is a new way to get list of names for branches and the 99 "upstream" branch for them. 100 101* git-config learned -e option to open an editor to edit the config file 102 directly. 103 104* git-clone runs post-checkout hook when run without --no-checkout. 105 106* git-difftool is now part of the officially supported command, primarily 107 maintained by David Aguilar. 108 109* git-for-each-ref learned a new "upstream" token. 110 111* git-format-patch can be told to use attachment with a new configuration, 112 format.attach. 113 114* git-format-patch can be told to produce deep or shallow message threads. 115 116* git-format-patch can be told to always add sign-off with a configuration 117 variable. 118 119* git-format-patch learned format.headers configuration to add extra 120 header fields to the output. This behaviour is similar to the existing 121 --add-header=<header> option of the command. 122 123* git-format-patch gives human readable names to the attached files, when 124 told to send patches as attachments. 125 126* git-grep learned to highlight the found substrings in color. 127 128* git-imap-send learned to work around Thunderbird's inability to easily 129 disable format=flowed with a new configuration, imap.preformattedHTML. 130 131* git-rebase can be told to rebase the series even if your branch is a 132 descendant of the commit you are rebasing onto with --force-rebase 133 option. 134 135* git-rebase can be told to report diffstat with the --stat option. 136 137* Output from git-remote command has been vastly improved. 138 139* "git remote update --prune $remote" updates from the named remote and 140 then prunes stale tracking branches. 141 142* git-send-email learned --confirm option to review the Cc: list before 143 sending the messages out. 144 145(developers) 146 147* Test scripts can be run under valgrind. 148 149* Test scripts can be run with installed git. 150 151* Makefile learned 'coverage' option to run the test suites with 152 coverage tracking enabled. 153 154* Building the manpages with docbook-xsl between 1.69.1 and 1.71.1 now 155 requires setting DOCBOOK_SUPPRESS_SP to work around a docbook-xsl bug. 156 This workaround used to be enabled by default, but causes problems 157 with newer versions of docbook-xsl. In addition, there are a few more 158 knobs you can tweak to work around issues with various versions of the 159 docbook-xsl package. See comments in Documentation/Makefile for details. 160 161* Support for building and testing a subset of git on a system without a 162 working perl has been improved. 163 164 165Fixes since v1.6.2 166------------------ 167 168All of the fixes in v1.6.2.X maintenance series are included in this 169release, unless otherwise noted. 170 171Here are fixes that this release has, but have not been backported to 172v1.6.2.X series. 173 174* "git-apply" rejected a patch that swaps two files (i.e. renames A to B 175 and B to A at the same time). May need to be backported by cherry 176 picking d8c81df and then 7fac0ee). 177 178* The initial checkout did not read the attributes from the .gitattribute 179 file that is being checked out. 180 181* git-gc spent excessive amount of time to decide if an object appears 182 in a locally existing pack (if needed, backport by merging 69e020a).