| GIT v1.6.3 Release Notes | 
 | ======================== | 
 |  | 
 | With the next major release, "git push" into a branch that is | 
 | currently checked out will be refused by default.  You can choose | 
 | what should happen upon such a push by setting the configuration | 
 | variable receive.denyCurrentBranch in the receiving repository. | 
 |  | 
 | To ease the transition plan, the receiving repository of such a | 
 | push running this release will issue a big warning when the | 
 | configuration variable is missing.  Please refer to: | 
 |  | 
 |   https://archive.kernel.org/oldwiki/git.wiki.kernel.org/index.php/GitFaq.html#non-bare | 
 |   https://lore.kernel.org/git/7vbptlsuyv.fsf@gitster.siamese.dyndns.org/ | 
 |  | 
 | for more details on the reason why this change is needed and the | 
 | transition plan. | 
 |  | 
 | For a similar reason, "git push $there :$killed" to delete the branch | 
 | $killed in a remote repository $there, if $killed branch is the current | 
 | branch pointed at by its HEAD, gets a large warning.  You can choose what | 
 | should happen upon such a push by setting the configuration variable | 
 | receive.denyDeleteCurrent in the receiving repository. | 
 |  | 
 | When the user does not tell "git push" what to push, it has always | 
 | pushed matching refs.  For some people it is unexpected, and a new | 
 | configuration variable push.default has been introduced to allow | 
 | changing a different default behaviour.  To advertise the new feature, | 
 | a big warning is issued if this is not configured and a git push without | 
 | arguments is attempted. | 
 |  | 
 |  | 
 | Updates since v1.6.2 | 
 | -------------------- | 
 |  | 
 | (subsystems) | 
 |  | 
 | * various git-svn updates. | 
 |  | 
 | * git-gui updates, including an update to Russian translation, and a | 
 |   fix to an infinite loop when showing an empty diff. | 
 |  | 
 | * gitk updates, including an update to Russian translation and improved Windows | 
 |   support. | 
 |  | 
 | (performance) | 
 |  | 
 | * many uses of lstat(2) in the codepath for "git checkout" have been | 
 |   optimized out. | 
 |  | 
 | (usability, bells and whistles) | 
 |  | 
 | * Boolean configuration variable yes/no can be written as on/off. | 
 |  | 
 | * rsync:/path/to/repo can be used to run git over rsync for local | 
 |   repositories.  It may not be useful in practice; meant primarily for | 
 |   testing. | 
 |  | 
 | * http transport learned to prompt and use password when fetching from or | 
 |   pushing to http://user@host.xz/ URL. | 
 |  | 
 | * (msysgit) progress output that is sent over the sideband protocol can | 
 |   be handled appropriately in Windows console. | 
 |  | 
 | * "--pretty=<style>" option to the log family of commands can now be | 
 |   spelled as "--format=<style>".  In addition, --format=%formatstring | 
 |   is a short-hand for --pretty=tformat:%formatstring. | 
 |  | 
 | * "--oneline" is a synonym for "--pretty=oneline --abbrev-commit". | 
 |  | 
 | * "--graph" to the "git log" family can draw the commit ancestry graph | 
 |   in colors. | 
 |  | 
 | * If you realize that you botched the patch when you are editing hunks | 
 |   with the 'edit' action in git-add -i/-p, you can abort the editor to | 
 |   tell git not to apply it. | 
 |  | 
 | * @{-1} is a new way to refer to the last branch you were on introduced in | 
 |   1.6.2, but the initial implementation did not teach this to a few | 
 |   commands.  Now the syntax works with "branch -m @{-1} newname". | 
 |  | 
 | * git-archive learned --output=<file> option. | 
 |  | 
 | * git-archive takes attributes from the tree being archived; strictly | 
 |   speaking, this is an incompatible behaviour change, but is a good one. | 
 |   Use --worktree-attributes option to allow it to read attributes from | 
 |   the work tree as before (deprecated git-tar tree command always reads | 
 |   attributes from the work tree). | 
 |  | 
 | * git-bisect shows not just the number of remaining commits whose goodness | 
 |   is unknown, but also shows the estimated number of remaining rounds. | 
 |  | 
 | * You can give --date=<format> option to git-blame. | 
 |  | 
 | * "git-branch -r" shows HEAD symref that points at a remote branch in | 
 |   interest of each tracked remote repository. | 
 |  | 
 | * "git-branch -v -v" is a new way to get list of names for branches and the | 
 |   "upstream" branch for them. | 
 |  | 
 | * git-config learned -e option to open an editor to edit the config file | 
 |   directly. | 
 |  | 
 | * git-clone runs post-checkout hook when run without --no-checkout. | 
 |  | 
 | * git-difftool is now part of the officially supported command, primarily | 
 |   maintained by David Aguilar. | 
 |  | 
 | * git-for-each-ref learned a new "upstream" token. | 
 |  | 
 | * git-format-patch can be told to use attachment with a new configuration, | 
 |   format.attach. | 
 |  | 
 | * git-format-patch can be told to produce deep or shallow message threads. | 
 |  | 
 | * git-format-patch can be told to always add sign-off with a configuration | 
 |   variable. | 
 |  | 
 | * git-format-patch learned format.headers configuration to add extra | 
 |   header fields to the output.  This behaviour is similar to the existing | 
 |   --add-header=<header> option of the command. | 
 |  | 
 | * git-format-patch gives human readable names to the attached files, when | 
 |   told to send patches as attachments. | 
 |  | 
 | * git-grep learned to highlight the found substrings in color. | 
 |  | 
 | * git-imap-send learned to work around Thunderbird's inability to easily | 
 |   disable format=flowed with a new configuration, imap.preformattedHTML. | 
 |  | 
 | * git-rebase can be told to rebase the series even if your branch is a | 
 |   descendant of the commit you are rebasing onto with --force-rebase | 
 |   option. | 
 |  | 
 | * git-rebase can be told to report diffstat with the --stat option. | 
 |  | 
 | * Output from git-remote command has been vastly improved. | 
 |  | 
 | * "git remote update --prune $remote" updates from the named remote and | 
 |   then prunes stale tracking branches. | 
 |  | 
 | * git-send-email learned --confirm option to review the Cc: list before | 
 |   sending the messages out. | 
 |  | 
 | (developers) | 
 |  | 
 | * Test scripts can be run under valgrind. | 
 |  | 
 | * Test scripts can be run with installed git. | 
 |  | 
 | * Makefile learned 'coverage' option to run the test suites with | 
 |   coverage tracking enabled. | 
 |  | 
 | * Building the manpages with docbook-xsl between 1.69.1 and 1.71.1 now | 
 |   requires setting DOCBOOK_SUPPRESS_SP to work around a docbook-xsl bug. | 
 |   This workaround used to be enabled by default, but causes problems | 
 |   with newer versions of docbook-xsl.  In addition, there are a few more | 
 |   knobs you can tweak to work around issues with various versions of the | 
 |   docbook-xsl package.  See comments in Documentation/Makefile for details. | 
 |  | 
 | * Support for building and testing a subset of git on a system without a | 
 |   working perl has been improved. | 
 |  | 
 |  | 
 | Fixes since v1.6.2 | 
 | ------------------ | 
 |  | 
 | All of the fixes in v1.6.2.X maintenance series are included in this | 
 | release, unless otherwise noted. | 
 |  | 
 | Here are fixes that this release has, but have not been backported to | 
 | v1.6.2.X series. | 
 |  | 
 | * "git-apply" rejected a patch that swaps two files (i.e. renames A to B | 
 |   and B to A at the same time).  May need to be backported by cherry | 
 |   picking d8c81df and then 7fac0ee). | 
 |  | 
 | * The initial checkout did not read the attributes from the .gitattribute | 
 |   file that is being checked out. | 
 |  | 
 | * git-gc spent excessive amount of time to decide if an object appears | 
 |   in a locally existing pack (if needed, backport by merging 69e020a). |