Git v1.7.6 Release Notes (draft) ======================== Updates since v1.7.5 -------------------- * Various git-svn updates. * Clean-up of the C part of i18n (but not l10n---please wait) continues. * When an object "$tree:$path" does not exist, if $path does exist in the subtree of $tree that corresponds to the subdirectory the user is in, git now suggests using "$tree:./$path" in addition to the advice to use the full path from the root of the working tree. * "git blame" learned "--abbrev[=]" option to control the minimum number of hexdigits shown for commit object names. * "git clean" used to fail on an empty directory that is not readable, even though rmdir(2) could remove such a directory. Now we attempt it as the last resort. * "git diff -C -C" used to disable the rename detection entirely when there are too many copy candidate paths in the tree; now it falls back to "-C" when doing so would keep the copy candidate paths under the rename detection limit. * "git format-patch" learned "--quiet" option to suppress the output of the names of generated files. * "git log" and friends learned a new "--notes" option to replace the "--show-notes" option. Unlike "--show-notes", "--notes=" does not imply showing the default notes. * "git merge" learned "-" as a short-hand for "the previous branch", just like the way "git checkout -" works. * "git pack-object" now takes core.bigfilethreashold into account, just like fast-imoprt does. * "git reflog" allows options like "--format=.." to be given. * "git stash apply" can now apply to a working tree with changes as long as there is no overlapping change as the stash being applied. * "git submodule update" learned "--force" option to get rid of local changes in submodules and replace them with the up-to-date version. * "git stash apply @{99999}" now is diagnosed as an error, unless you really have that many stash entries. Also contains various documentation updates. Fixes since v1.7.5 ------------------ Unless otherwise noted, all the fixes in 1.7.5.X maintenance track are included in this release. * "git config" used to choke with an insanely long line. (merge ef/maint-strbuf-init later) * The "--dirstat" option of "diff" family of commands used to totally ignore a change that only rearranged lines within a file. Such a change now counts as at least a minimum but non zero change. * The "--dirstat" option of "diff" family of commands used to use the pathname in the original, instead of the pathname in the result, when renames are involved. (merge jh/dirstat for the above two later) * "diff -M --cached" used to use unmerged path as a possible rename source candidate, which made no sense. (merge mz/maint-rename-unmerged later) * "git format-patch" when run with "--quiet" option used to produce a nonsense result that consists of alternating empty output. (merge early part of cn/format-patch-quiet later) * "git stash -p --no-keep-index" and "git stash --no-keep-index -p" now mean the same thing. (merge dm/stash-k-i-p later) * "git upload-pack" (hence "git push" over git native protocol) had a subtle race condition that could lead to a deadlock. (merge jk/maint-upload-pack-shallow later) --- exec >/var/tmp/1 echo O=$(git describe master) O=v1.7.5-184-g23f536c git shortlog --no-merges ^maint ^$O master