Documentation / RelNotes / 1.6.4.txton commit The fourth batch (6d5b264)
   1GIT v1.6.4 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
  25
  26Updates since v1.6.3
  27--------------------
  28
  29(subsystems)
  30
  31 * gitweb Perl style clean-up.
  32
  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, documenting
  36   of the useful --minimize-url feature, new "git svn gc" command, etc.
  37
  38(portability)
  39
  40 * We feed iconv with "UTF-8" instead of "utf8"; the former is
  41   understood more widely.  Similarly updated test scripts to use
  42   encoding names more widely understood (e.g. use "ISO8859-1" instead
  43   of "ISO-8859-1").
  44
  45 * Various portability fixes/workarounds for different vintages of
  46   SunOS, IRIX, and Windows.
  47
  48 * Git-over-ssh transport on Windows supports PuTTY plink and TortoisePlink.
  49
  50(performance)
  51
  52 * Many repeated use of lstat() are optimized out in "checkout" codepath.
  53
  54 * git-status (and underlying git-diff-index --cached) are optimized
  55   to take advantage of cache-tree information in the index.
  56
  57(usability, bells and whistles)
  58
  59 * "git add --edit" lets users edit the whole patch text to fine-tune what
  60   is added to the index.
  61
  62 * "git am" accepts StGIT series file as its input.
  63
  64 * "git bisect skip" skips to a more randomly chosen place in the hope
  65   to avoid testing a commit that is too close to a commit that is
  66   already known to be untestable.
  67
  68 * "git cvsexportcommit" learned -k option to stop CVS keywords expansion
  69
  70 * "git fast-export" learned to handle history simplification more
  71   gracefully.
  72
  73 * "git fast-export" learned an option --tag-of-filtered-object to handle
  74   dangling tags resulting from history simplification more usefully.
  75
  76 * "git grep" learned -p option to show the location of the match using the
  77   same context hunk marker "git diff" uses.
  78
  79 * https transport can optionally be told that the used client
  80   certificate is password protected, in which case it asks the
  81   password only once.
  82
  83 * "git imap-send" is IPv6 aware.
  84
  85 * "git log --graph" draws graphs more compactly by using horizontal lines
  86   when able.
  87
  88 * "git log --decorate" shows shorter refnames by stripping well-known
  89   refs/* prefix.
  90
  91 * "git push $name" honors remote.$name.pushurl if present before
  92   using remote.$name.url.  In other words, the URL used for fetching
  93   and pushing can be different.
  94
  95 * "git send-email" understands quoted aliases in .mailrc files (might
  96   have to be backported to 1.6.3.X).
  97
  98 * "git send-email" can fetch the sender address from the configuration
  99   variable "sendmail.from" (and "sendmail.<identity>.from").
 100
 101 * "git show-branch" can color its output.
 102
 103 * "add" and "update" subcommands to "git submodule" learned --reference
 104   option to use local clone with references.
 105
 106 * "git submodule update" learned --rebase option to update checked
 107   out submodules by rebasing the local changes.
 108
 109 * "gitweb" can optionally use gravatar to adorn author/committer names.
 110
 111(developers)
 112
 113 * A major part of the "git bisect" wrapper has moved to C.
 114
 115 * Formatting with the new version of AsciiDoc 8.4.1 is now supported.
 116
 117Fixes since v1.6.3
 118------------------
 119
 120All of the fixes in v1.6.3.X maintenance series are included in this
 121release, unless otherwise noted.
 122
 123Here are fixes that this release has, but have not been backported to
 124v1.6.3.X series.
 125
 126 * "git diff-tree -r -t" used to omit new or removed directories from
 127   the output.  df533f3 (diff-tree -r -t: include added/removed
 128   directories in the output, 2009-06-13) may need to be cherry-picked
 129   to backport this fix.
 130
 131 * The way Git.pm sets up a Repository object was not friendly to callers
 132   that chdir around.  It now internally records the repository location
 133   as an absolute path when autodetected.
 134
 135 * Removing a section with "git config --remove-section", when its
 136   section header has a variable definition on the same line, lost
 137   that variable definition.
 138
 139 * "git rebase -p --onto" used to always leave side branches of a merge
 140   intact, even when both branches are subject to rewriting.
 141
 142 * "git repack" used to faithfully follow grafts and considered true
 143   parents recorded in the commit object unreachable from the commit.
 144   After such a repacking, you cannot remove grafts without corrupting
 145   the repository.
 146
 147 * "git send-email" did not detect erroneous loops in alias expansion.