RelNotes-1.6.3.txt 6.5 KB
Newer Older
1 2 3
GIT v1.6.3 Release Notes
========================

4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
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:

  http://git.or.cz/gitwiki/GitFaq#non-bare
  http://thread.gmane.org/gmane.comp.version-control.git/107758/focus=108007

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.

25 26 27 28 29 30
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.
31

32

33 34 35 36 37
Updates since v1.6.2
--------------------

(subsystems)

J
Junio C Hamano 已提交
38 39
* various git-svn updates.

40 41
(performance)

42 43 44
* many uses of lstat(2) in the codepath for "git checkout" have been
  optimized out.

45 46
(usability, bells and whistles)

47 48
* Boolean configuration variable yes/no can be written as on/off.

49 50 51 52
* 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.

53 54 55
* http transport learned to prompt and use password when fetching from or
  pushing to http://user@host.xz/ URL.

56 57 58
* (msysgit) progress output that is sent over the sideband protocol can
  be handled appropriately in Windows console.

59 60 61 62
* "--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.

63
* "--oneline" is a synonym for "--pretty=oneline --abbrev-commit".
64

65 66 67
* "--graph" to the "git log" family can draw the commit ancestry graph
  in colors.

68 69 70 71
* 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.

72 73 74 75
* @{-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".

76 77
* git-archive learned --output=<file> option.

78 79 80 81 82 83
* 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).

84 85 86
* git-bisect shows not just the number of remaining commits whose goodness
  is unknown, but also shows the estimated number of remaining rounds.

J
Junio C Hamano 已提交
87 88
* You can give --date=<format> option to git-blame.

J
Junio C Hamano 已提交
89
* "git-branch -r" shows HEAD symref that points at a remote branch in
90 91
  interest of each tracked remote repository.

J
Junio C Hamano 已提交
92 93 94
* "git-branch -v -v" is a new way to get list of names for branches and the
  "upstream" branch for them.

95 96 97
* git-config learned -e option to open an editor to edit the config file
  directly.

J
Junio C Hamano 已提交
98 99
* git-clone runs post-checkout hook when run without --no-checkout.

100 101 102
* git-difftool is now part of the officially supported command, primarily
  maintained by David Aguilar.

J
Junio C Hamano 已提交
103 104
* git-for-each-ref learned a new "upstream" token.

105 106 107
* git-format-patch can be told to use attachment with a new configuration,
  format.attach.

J
Junio C Hamano 已提交
108 109
* git-format-patch can be told to produce deep or shallow message threads.

110 111 112
* git-format-patch can be told to always add sign-off with a configuration
  variable.

113 114 115 116
* 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.

117 118 119
* git-format-patch gives human readable names to the attached files, when
  told to send patches as attachments.

120 121
* git-grep learned to highlight the found substrings in color.

122 123 124 125 126 127 128
* 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.

J
Junio C Hamano 已提交
129 130
* git-rebase can be told to report diffstat with the --stat option.

131 132
* Output from git-remote command has been vastly improved.

J
Junio C Hamano 已提交
133 134 135
* "git remote update --prune $remote" updates from the named remote and
  then prunes stale tracking branches.

136 137 138 139 140 141 142
* git-send-email learned --confirm option to review the Cc: list before
  sending the messages out.

(developers)

* Test scripts can be run under valgrind.

143 144
* Test scripts can be run with installed git.

J
Junio C Hamano 已提交
145 146
* Makefile learned 'coverage' option to run the test suites with
  coverage tracking enabled.
147

148 149 150
* 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
151 152 153
  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.
154

J
Junio C Hamano 已提交
155 156 157 158
* Support for building and testing a subset of git on a system without a
  working perl has been improved.


159 160 161 162 163 164 165 166 167
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.

168 169 170 171
* "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).

172 173 174
* The initial checkout did not read the attributes from the .gitattribute
  file that is being checked out.

175 176 177
* git-gc spent excessive amount of time to decide if an object appears
  in a locally existing pack (if needed, backport by merging 69e020a).

178 179
---
exec >/var/tmp/1
J
Junio C Hamano 已提交
180
O=v1.6.3-rc2
181 182
echo O=$(git describe master)
git shortlog --no-merges $O..master ^maint