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