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(performance) 39 40* many uses of lstat(2) in the codepath for "git checkout" have been 41 optimized out. 42 43(usability, bells and whistles) 44 45* rsync:/path/to/repo can be used to run git over rsync for local 46 repositories. It may not be useful in practice; meant primarily for 47 testing. 48 49* http transport learned to prompt and use password when fetching from or 50 pushing to http://user@host.xz/ URL. 51 52* (msysgit) progress output that is sent over the sideband protocol can 53 be handled appropriately in Windows console. 54 55* "--pretty=<style>" option to the log family of commands can now be 56 spelled as "--format=<style>". In addition, --format=%formatstring 57 is a short-hand for --pretty=tformat:%formatstring. 58 59* "--oneline" is a synonym for "--pretty=oneline --abbrev=commit". 60 61* If you realize that you botched the patch when you are editing hunks 62 with the 'edit' action in git-add -i/-p, you can abort the editor to 63 tell git not to apply it. 64 65* git-archive learned --output=<file> option. 66 67* git-bisect shows not just the number of remaining commits whose goodness 68 is unknown, but also shows the estimated number of remaining rounds. 69 70* You can give --date=<format> option to git-blame. 71 72* git-branch -r shows HEAD symref that points at a remote branch in 73 interest of each tracked remote repository. 74 75* git-config learned -e option to open an editor to edit the config file 76 directly. 77 78* git-clone runs post-checkout hook when run without --no-checkout. 79 80* git-format-patch can be told to use attachment with a new configuration, 81 format.attach. 82 83* git-format-patch can be told to produce deep or shallow message threads. 84 85* git-grep learned to highlight the found substrings in color. 86 87* git-imap-send learned to work around Thunderbird's inability to easily 88 disable format=flowed with a new configuration, imap.preformattedHTML. 89 90* git-rebase can be told to rebase the series even if your branch is a 91 descendant of the commit you are rebasing onto with --force-rebase 92 option. 93 94* git-rebase can be told to report diffstat with the --stat option. 95 96* Output from git-remote command has been vastly improved. 97 98* git-send-email learned --confirm option to review the Cc: list before 99 sending the messages out. 100 101(developers) 102 103* Test scripts can be run under valgrind. 104 105* Test scripts can be run with installed git. 106 107* Makefile learned 'coverage' option to run the test suites with 108 coverage tracking enabled. 109 110Fixes since v1.6.2 111------------------ 112 113All of the fixes in v1.6.2.X maintenance series are included in this 114release, unless otherwise noted. 115 116Here are fixes that this release has, but have not been backported to 117v1.6.2.X series. 118 119* "git-blame -S" did not quite work near the commits that were given 120 on the command line correctly (jc/maint-1.6.0-blame-s). 121 122* The initial checkout did not read the attributes from the .gitattribute 123 file that is being checked out. 124 125* git-diff feeds files in work-tree representation to external diff and 126 textconv (js/maint-diff-temp-smudge). 127 128* git-gc spent excessive amount of time to decide if an object appears 129 in a locally existing pack (if needed, backport by merging 69e020a). 130 131--- 132exec >/var/tmp/1 133O=v1.6.2.1-399-gaa72a14 134echo O=$(git describe master) 135git shortlog --no-merges $O..master ^maint