1.7.7.txt 5.28 KB
Newer Older
Junio C Hamano's avatar
Junio C Hamano committed
1 2 3 4 5 6 7 8
Git v1.7.7 Release Notes
========================

Updates since v1.7.6
--------------------

 * The scripting part of the codebase is getting prepared for i18n/l10n.

9 10
 * Interix, Cygwin and Minix ports got updated.

11
 * Various updates to git-p4 (in contrib/), fast-import, and git-svn.
12 13 14 15 16

 * Gitweb learned to read from /etc/gitweb-common.conf when it exists,
   before reading from gitweb_config.perl or from /etc/gitweb.conf
   (this last one is read only when per-repository gitweb_config.perl
   does not exist).
17 18 19 20 21

 * Various codepaths that invoked zlib deflate/inflate assumed that these
   functions can compress or uncompress more than 4GB data in one call on
   platforms with 64-bit long, which has been corrected.

22
 * Git now recognizes loose objects written by other implementations that
23
   use a non-standard window size for zlib deflation (e.g. Agit running on
24 25 26
   Android with 4kb window). We used to reject anything that was not
   deflated with 32kb window.

27 28 29 30
 * Interaction between the use of pager and coloring of the output has
   been improved, especially when a command that is not built-in was
   involved.

31
 * "git am" learned to pass the "--exclude=<path>" option through to underlying
32 33
   "git apply".

34
 * You can now feed many empty lines before feeding an mbox file to
35 36
   "git am".

37 38 39
 * "git archive" can be told to pass the output to gzip compression and
   produce "archive.tar.gz".

40
 * "git bisect" can be used in a bare repository (provided that the test
41 42 43
   you perform per each iteration does not need a working tree, of
   course).

44
 * The length of abbreviated object names in "git branch -v" output
45
   now honors the core.abbrev configuration variable.
46

47 48
 * "git check-attr" can take relative paths from the command line.

49
 * "git check-attr" learned an "--all" option to list the attributes for a
50 51
   given path.

Junio C Hamano's avatar
Junio C Hamano committed
52
 * "git checkout" (both the code to update the files upon checking out a
53
   different branch and the code to checkout a specific set of files) learned
Junio C Hamano's avatar
Junio C Hamano committed
54
   to stream the data from object store when possible, without having to
55
   read the entire contents of a file into memory first. An earlier round
56 57
   of this code that is not in any released version had a large leak but
   now it has been plugged.
Junio C Hamano's avatar
Junio C Hamano committed
58

59
 * "git clone" can now take a "--config key=value" option to set the
60
   repository configuration options that affect the initial checkout.
Junio C Hamano's avatar
Junio C Hamano committed
61

62
 * "git commit <paths>..." now lets you feed relative pathspecs that
63
   refer to outside your current subdirectory.
64

65 66
 * "git diff --stat" learned a --stat-count option to limit the output of
   a diffstat report.
Junio C Hamano's avatar
Junio C Hamano committed
67

68
 * "git diff" learned a "--histogram" option to use a different diff
69 70 71
   generation machinery stolen from jgit, which might give better
   performance.

72
 * "git diff" had a weird worst case behaviour that can be triggered
73 74
   when comparing files with potentially many places that could match.

75
 * "git fetch", "git push" and friends no longer show connection
76
   errors for addresses that couldn't be connected to when at least one
77 78 79
   address succeeds (this is arguably a regression but a deliberate
   one).

80 81
 * "git grep" learned "--break" and "--heading" options, to let users mimic
   the output format of "ack".
Junio C Hamano's avatar
Junio C Hamano committed
82

83
 * "git grep" learned a "-W" option that shows wider context using the same
84 85
   logic used by "git diff" to determine the hunk header.

86
 * Invoking the low-level "git http-fetch" without "-a" option (which
87
   git itself never did--normal users should not have to worry about
88 89
   this) is now deprecated.

90 91 92
 * The "--decorate" option to "git log" and its family learned to
   highlight grafted and replaced commits.

93
 * "git rebase master topci" no longer spews usage hints after giving
94
   the "fatal: no such branch: topci" error message.
95

96
 * The recursive merge strategy implementation got a fairly large
97
   fix for many corner cases that may rarely happen in real world
98 99 100 101
   projects (it has been verified that none of the 16000+ merges in
   the Linux kernel history back to v2.6.12 is affected with the
   corner case bugs this update fixes).

102
 * "git stash" learned an "--include-untracked option".
103

104 105 106 107
 * "git submodule update" used to stop at the first error updating a
   submodule; it now goes on to update other submodules that can be
   updated, and reports the ones with errors at the end.

108
 * "git push" can be told with the "--recurse-submodules=check" option to
109 110 111
   refuse pushing of the supermodule, if any of its submodules'
   commits hasn't been pushed out to their remotes.

112
 * "git upload-pack" and "git receive-pack" learned to pretend that only a
113 114 115 116
   subset of the refs exist in a repository. This may help a site to
   put many tiny repositories into one repository (this would not be
   useful for larger repositories as repacking would be problematic).

117 118 119 120
 * "git verify-pack" has been rewritten to use the "index-pack" machinery
   that is more efficient in reading objects in packfiles.

 * test scripts for gitweb tried to run even when CGI-related perl modules
121
   are not installed; they now exit early when the latter are unavailable.
122

Junio C Hamano's avatar
Junio C Hamano committed
123 124 125 126 127 128 129
Also contains various documentation updates and minor miscellaneous
changes.


Fixes since v1.7.6
------------------

130
Unless otherwise noted, all fixes in the 1.7.6.X maintenance track are
Junio C Hamano's avatar
Junio C Hamano committed
131 132
included in this release.

133 134
 * "git branch -m" and "git checkout -b" incorrectly allowed the tip
   of the branch that is currently checked out updated.