Merge branch 'gb/maint-am-patch-format-error-message'
[git/git.git] / Documentation / RelNotes / 1.7.7.txt
CommitLineData
cf13f6ca
JH
1Git v1.7.7 Release Notes
2========================
3
4Updates since v1.7.6
5--------------------
6
7 * The scripting part of the codebase is getting prepared for i18n/l10n.
8
b9176629
JH
9 * Interix, Cygwin and Minix ports got updated.
10
826603d1 11 * Various updates git-p4 (in contrib/) and "git fast-import".
b9176629
JH
12
13 * Gitweb learned to read from /etc/gitweb-common.conf when it exists,
14 before reading from gitweb_config.perl or from /etc/gitweb.conf
15 (this last one is read only when per-repository gitweb_config.perl
16 does not exist).
d79bcd68
JH
17
18 * Various codepaths that invoked zlib deflate/inflate assumed that these
19 functions can compress or uncompress more than 4GB data in one call on
20 platforms with 64-bit long, which has been corrected.
21
8d9185bc
JH
22 * Git now recognizes loose objects written by other implementations that
23 uses non-standard window size for zlib deflation (e.g. Agit running on
24 Android with 4kb window). We used to reject anything that was not
25 deflated with 32kb window.
26
826603d1
JH
27 * Interaction between the use of pager and coloring of the output has
28 been improved, especially when a command that is not built-in was
29 involved.
30
cee42681
JH
31 * "git am" learned to pass "--exclude=<path>" option through to underlying
32 "git apply".
33
34 * You can now feed many empty lines before feeding a mbox file to
35 "git am".
36
d79bcd68
JH
37 * "git archive" can be told to pass the output to gzip compression and
38 produce "archive.tar.gz".
39
f85a051d
JH
40 * "git bisect" can be used in a bare repository (provided if the test
41 you perform per each iteration does not need a working tree, of
42 course).
43
826603d1
JH
44 * The length of abbreviated object names in "git branch -v" output
45 now honors core.abbrev configuration variable.
46
f85a051d
JH
47 * "git check-attr" can take relative paths from the command line.
48
49 * "git check-attr" learned "--all" option to list the attributes for a
50 given path.
51
cf13f6ca
JH
52 * "git checkout" (both the code to update the files upon checking out a
53 different branch, the code to checkout specific set of files) learned
54 to stream the data from object store when possible, without having to
b9176629
JH
55 read the entire contents of a file in memory first. An earlier round
56 of this code that is not in any released version had a large leak but
57 now it has been plugged.
cf13f6ca 58
d79bcd68
JH
59 * "git clone" can now take "--config key=value" option to set the
60 repository configuration options that affect the initial checkout.
cf13f6ca 61
b9176629
JH
62 * "git commit <paths>..." now lets you feed relative pathspecs that
63 refer outside your current subdirectory.
64
cf13f6ca
JH
65 * "git diff --stat" learned --stat-count option to limit the output of
66 diffstat report.
67
f85a051d
JH
68 * "git diff" learned "--histogram" option, to use a different diff
69 generation machinery stolen from jgit, which might give better
70 performance.
71
e7734c6c
JH
72 * "git diff" had a wierd worst case behaviour that can be triggered
73 when comparing files with potentially many places that could match.
74
5c2f8459
JH
75 * "git fetch", "git push" and friends no longer show connection
76 errors for addresses that couldn't be connected when at least one
77 address succeeds (this is arguably a regression but a deliberate
78 one).
79
cf13f6ca
JH
80 * "git grep" learned --break and --heading options, to let users mimic
81 output format of "ack".
82
b9176629
JH
83 * "git grep" learned "-W" option that shows wider context using the same
84 logic used by "git diff" to determine the hunk header.
85
826603d1
JH
86 * The "--decorate" option to "git log" and its family learned to
87 highlight grafted and replaced commits.
88
d79bcd68
JH
89 * "git rebase master topci" no longer spews usage hints after giving
90 "fatal: no such branch: topci" error message.
91
e7734c6c
JH
92 * The recursive merge strategy implementation got a fairly large
93 fixes for many corner cases that may rarely happen in real world
94 projects (it has been verified that none of the 16000+ merges in
95 the Linux kernel history back to v2.6.12 is affected with the
96 corner case bugs this update fixes).
97
5c2f8459
JH
98 * "git stash" learned --include-untracked option.
99
d79bcd68
JH
100 * "git submodule update" used to stop at the first error updating a
101 submodule; it now goes on to update other submodules that can be
102 updated, and reports the ones with errors at the end.
103
e7734c6c
JH
104 * "git push" can be told with --recurse-submodules=check option to
105 refuse pushing of the supermodule, if any of its submodules'
106 commits hasn't been pushed out to their remotes.
107
f85a051d
JH
108 * "git upload-pack" and "git receive-pack" learned to pretend only a
109 subset of the refs exist in a repository. This may help a site to
110 put many tiny repositories into one repository (this would not be
111 useful for larger repositories as repacking would be problematic).
112
d79bcd68
JH
113 * "git verify-pack" has been rewritten to use the "index-pack" machinery
114 that is more efficient in reading objects in packfiles.
115
116 * test scripts for gitweb tried to run even when CGI-related perl modules
117 are not installed; it now exits early when they are unavailable.
118
cf13f6ca
JH
119Also contains various documentation updates and minor miscellaneous
120changes.
121
122
123Fixes since v1.7.6
124------------------
125
126Unless otherwise noted, all the fixes in 1.7.6.X maintenance track are
127included in this release.
128
a452d148
JH
129 * "git branch --set-upstream @{-1} foo" did not expand @{-1} correctly.
130 (merge e9d4f74 mg/branch-set-upstream-previous later to 'maint').
131
826603d1
JH
132 * "git branch -m" and "git checkout -b" incorrectly allowed the tip
133 of the branch that is currently checked out updated.
134 (merge 55c4a67 ci/forbid-unwanted-current-branch-update later to 'maint').
135
136 * "git clone" failed to clone locally from a ".git" file that itself
137 is not a directory but is a pointer to one.
138 (merge 9b0ebc7 nd/maint-clone-gitdir later to 'maint').
139
140 * "git clone" from a local repository that borrows from another
141 object store using a relative path in its objects/info/alternates
142 file did not adjust the alternates in the resulting repository.
143 (merge e6baf4a1 jc/maint-clone-alternates later to 'maint').
144
a452d148
JH
145 * "git describe --dirty" did not refresh the index before checking the
146 state of the working tree files.
147 (cherry-pick bb57148 ac/describe-dirty-refresh later to 'maint').
148
149 * "git ls-files ../$path" that is run from a subdirectory reported errors
8d9185bc
JH
150 incorrectly when there is no such path that matches the given pathspec.
151 (merge 0f64bfa cb/maint-ls-files-error-report later to 'maint').
f85a051d 152
cf13f6ca
JH
153--
154exec >/var/tmp/1
155echo O=$(git describe master)
a452d148 156O=v1.7.6.1-415-g284daf2
d79bcd68
JH
157git log --first-parent --oneline $O..master
158echo
cf13f6ca 159git shortlog --no-merges ^maint ^$O master