Merge branch 'maint'
[git/mjg.git] / Documentation / RelNotes / 1.7.7.txt
blob82dc9292c3503ecdddd9b9cf6274eae110197188
1 Git v1.7.7 Release Notes
2 ========================
4 Updates since v1.7.6
5 --------------------
7  * The scripting part of the codebase is getting prepared for i18n/l10n.
9  * Interix, Cygwin and Minix ports got updated.
11  * Various updates git-p4 (in contrib/) and "git fast-import".
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).
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.
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.
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.
31  * "git am" learned to pass "--exclude=<path>" option through to underlying
32    "git apply".
34  * You can now feed many empty lines before feeding a mbox file to
35    "git am".
37  * "git archive" can be told to pass the output to gzip compression and
38    produce "archive.tar.gz".
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).
44  * The length of abbreviated object names in "git branch -v" output
45    now honors core.abbrev configuration variable.
47  * "git check-attr" can take relative paths from the command line.
49  * "git check-attr" learned "--all" option to list the attributes for a
50    given path.
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
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.
59  * "git clone" can now take "--config key=value" option to set the
60    repository configuration options that affect the initial checkout.
62  * "git commit <paths>..." now lets you feed relative pathspecs that
63    refer outside your current subdirectory.
65  * "git diff --stat" learned --stat-count option to limit the output of
66    diffstat report.
68  * "git diff" learned "--histogram" option, to use a different diff
69    generation machinery stolen from jgit, which might give better
70    performance.
72  * "git fetch", "git push" and friends no longer show connection
73    errors for addresses that couldn't be connected when at least one
74    address succeeds (this is arguably a regression but a deliberate
75    one).
77  * "git grep" learned --break and --heading options, to let users mimic
78    output format of "ack".
80  * "git grep" learned "-W" option that shows wider context using the same
81    logic used by "git diff" to determine the hunk header.
83  * The "--decorate" option to "git log" and its family learned to
84    highlight grafted and replaced commits.
86  * "git rebase master topci" no longer spews usage hints after giving
87    "fatal: no such branch: topci" error message.
89  * "git stash" learned --include-untracked option.
91  * "git submodule update" used to stop at the first error updating a
92    submodule; it now goes on to update other submodules that can be
93    updated, and reports the ones with errors at the end.
95  * "git upload-pack" and "git receive-pack" learned to pretend only a
96    subset of the refs exist in a repository. This may help a site to
97    put many tiny repositories into one repository (this would not be
98    useful for larger repositories as repacking would be problematic).
100  * "git verify-pack" has been rewritten to use the "index-pack" machinery
101    that is more efficient in reading objects in packfiles.
103  * test scripts for gitweb tried to run even when CGI-related perl modules
104    are not installed; it now exits early when they are unavailable.
106 Also contains various documentation updates and minor miscellaneous
107 changes.
110 Fixes since v1.7.6
111 ------------------
113 Unless otherwise noted, all the fixes in 1.7.6.X maintenance track are
114 included in this release.
116  * "git branch --set-upstream @{-1} foo" did not expand @{-1} correctly.
117    (merge e9d4f74 mg/branch-set-upstream-previous later to 'maint').
119  * "git branch -m" and "git checkout -b" incorrectly allowed the tip
120    of the branch that is currently checked out updated.
121    (merge 55c4a67 ci/forbid-unwanted-current-branch-update later to 'maint').
123  * "git clone" failed to clone locally from a ".git" file that itself
124    is not a directory but is a pointer to one.
125    (merge 9b0ebc7 nd/maint-clone-gitdir later to 'maint').
127  * "git clone" from a local repository that borrows from another
128    object store using a relative path in its objects/info/alternates
129    file did not adjust the alternates in the resulting repository.
130    (merge e6baf4a1 jc/maint-clone-alternates later to 'maint').
132  * "git describe --dirty" did not refresh the index before checking the
133    state of the working tree files.
134    (cherry-pick bb57148 ac/describe-dirty-refresh later to 'maint').
136  * "git ls-files ../$path" that is run from a subdirectory reported errors
137    incorrectly when there is no such path that matches the given pathspec.
138    (merge 0f64bfa cb/maint-ls-files-error-report later to 'maint').
141 exec >/var/tmp/1
142 echo O=$(git describe master)
143 O=v1.7.6.1-415-g284daf2
144 git log --first-parent --oneline $O..master
145 echo
146 git shortlog --no-merges ^maint ^$O master