1Git v1.7.6 Release Notes (draft) 2======================== 3 4Updates since v1.7.5 5-------------------- 6 7 * Various git-svn updates. 8 9 * Updates the way content tags are handled in gitweb. 10 11 * Clean-up of the C part of i18n (but not l10n---please wait) 12 continues. 13 14 * Processes spawned by "[alias] <name> = !process" in the configuration 15 can inspect GIT_PREFIX environment variable to learn where in the 16 working tree the original command was invoked. 17 18 * "git blame" learned "--abbrev[=<n>]" option to control the minimum 19 number of hexdigits shown for commit object names. 20 21 * "git diff -C -C" used to disable the rename detection entirely when 22 there are too many copy candidate paths in the tree; now it falls 23 back to "-C" when doing so would keep the copy candidate paths 24 under the rename detection limit. 25 26 * "git diff" and its family of commands learned --dirstat=0 to show 27 directories that contribute less than 0.1% of changes. 28 29 * "git diff" and its family of commands learned --dirstat=lines mode to 30 assess damage to the directory based on number of lines in the patch 31 output, not based on the similarity numbers. 32 33 * "git format-patch" learned "--quiet" option to suppress the output of 34 the names of generated files. 35 36 * "git format-patch" quotes people's names when it has RFC822 special 37 characters in it, e.g. "Junio C. Hamano" <jch@example.com>. Earlier 38 it was up to the user to do this when using its output. 39 40 * "git log" and friends learned a new "--notes" option to replace the 41 "--show-notes" option. Unlike "--show-notes", "--notes=<ref>" does 42 not imply showing the default notes. 43 44 * "git merge" learned "-" as a short-hand for "the previous branch", just 45 like the way "git checkout -" works. 46 47 * "git rebase" that does not specify on top of which branch to rebase 48 the current branch now uses @{upstream} of the current branch. 49 50 * "git rev-list --count" used with "--cherry-mark" counts the cherry-picked 51 commits separately, producing more a useful output. 52 53 * "git submodule update" learned "--force" option to get rid of local 54 changes in submodules and replace them with the up-to-date version. 55 56 * Compressed tarball gitweb generates is made without the timestamp of 57 the tarball generation; snapshot from the same tree should result in 58 a same tarball. 59 60Also contains various documentation updates and minor miscellaneous 61changes. 62 63 64Fixes since v1.7.5 65------------------ 66 67Unless otherwise noted, all the fixes in 1.7.5.X maintenance track are 68included in this release. 69 70 * "git add -p" did not work correctly when a hunk is split and then 71 one of them was given to the editor. 72 (merge jc/maint-add-p-overlapping-hunks later) 73 74 * "git add -u" did not resolve a conflict where our history deleted and 75 their history modified the same file, and the working tree resolved to 76 keep a file. 77 (merge jc/fix-add-u-unmerged later) 78 79 * "git config" used to choke with an insanely long line. 80 (merge ef/maint-strbuf-init later) 81 82 * In "git merge", per-branch branch.<name>.mergeoptions configuration 83 variables did not override the fallback default merge.<option> 84 configuration variables such as merge.ff, merge.log, etc. 85 (merge jc/maint-branch-mergeoptions later) 86 87 * "git send-pack" (hence "git push") over smalt-HTTP protocol could 88 deadlock when the client side pack-object died early. 89 (merge js/maint-send-pack-stateless-rpc-deadlock-fix later) 90 91--- 92exec >/var/tmp/1 93echo O=$(git describe master) 94O=v1.7.5.1-288-ge4ae6ef 95git shortlog --no-merges ^maint ^$O master