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 9 * Interix, Cygwin and Minix ports got updated. 10 11 * Various updates git-p4 (in contrib/) and "git fast-import". 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). 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 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 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 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 37 * "git archive" can be told to pass the output to gzip compression and 38 produce "archive.tar.gz". 39 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 44 * The length of abbreviated object names in "git branch -v" output 45 now honors core.abbrev configuration variable. 46 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 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. 58 59 * "git clone" can now take "--config key=value" option to set the 60 repository configuration options that affect the initial checkout. 61 62 * "git commit <paths>..." now lets you feed relative pathspecs that 63 refer outside your current subdirectory. 64 65 * "git diff --stat" learned --stat-count option to limit the output of 66 diffstat report. 67 68 * "git diff" learned "--histogram" option, to use a different diff 69 generation machinery stolen from jgit, which might give better 70 performance. 71 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). 76 77 * "git grep" learned --break and --heading options, to let users mimic 78 output format of "ack". 79 80 * "git grep" learned "-W" option that shows wider context using the same 81 logic used by "git diff" to determine the hunk header. 82 83 * The "--decorate" option to "git log" and its family learned to 84 highlight grafted and replaced commits. 85 86 * "git rebase master topci" no longer spews usage hints after giving 87 "fatal: no such branch: topci" error message. 88 89 * "git stash" learned --include-untracked option. 90 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. 94 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). 99 100 * "git verify-pack" has been rewritten to use the "index-pack" machinery 101 that is more efficient in reading objects in packfiles. 102 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. 105 106Also contains various documentation updates and minor miscellaneous 107changes. 108 109 110Fixes since v1.7.6 111------------------ 112 113Unless otherwise noted, all the fixes in 1.7.6.X maintenance track are 114included in this release. 115 116 * "git branch --set-upstream @{-1} foo" did not expand @{-1} correctly. 117 (merge e9d4f74 mg/branch-set-upstream-previous later to 'maint'). 118 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'). 122 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'). 126 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'). 131 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'). 135 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'). 139 140-- 141exec >/var/tmp/1 142echo O=$(git describe master) 143O=v1.7.6.1-415-g284daf2 144git log --first-parent --oneline $O..master 145echo 146git shortlog --no-merges ^maint ^$O master