Git v1.7.6 Release Notes (draft) ======================== Updates since v1.7.5 -------------------- * Various git-svn updates. * Updates the way content tags are handled in gitweb. * Clean-up of the C part of i18n (but not l10n---please wait) continues. * Processes spawned by "[alias] = !process" in the configuration can inspect GIT_PREFIX environment variable to learn where in the working tree the original command was invoked. * "git blame" learned "--abbrev[=]" option to control the minimum number of hexdigits shown for commit object names. * Aborting "git commit --interactive" discards updates to the index made during the interctive session. * "git commit" learned a "--patch" option to directly jump to the per-hunk selection UI of the interactive mode. * "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 diff" and its family of commands learned --dirstat=0 to show directories that contribute less than 0.1% of changes. * "git diff" and its family of commands learned --dirstat=lines mode to assess damage to the directory based on number of lines in the patch output, not based on the similarity numbers. * "git format-patch" learned "--quiet" option to suppress the output of the names of generated files. * "git format-patch" quotes people's names when it has RFC822 special characters in it, e.g. "Junio C. Hamano" . Earlier it was up to the user to do this when using its output. * "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 merge" uses "merge.ff" configuration variable to decide to always create a merge commit (i.e. --no-ff, aka merge.ff=no), refuse to create a merge commit (i.e. --ff-only, aka merge.ff=only). Setting merge.ff=yes (or not setting it at all) restores the default behaviour of allowing fast-forward to happen when possible. * "git rebase" that does not specify on top of which branch to rebase the current branch now uses @{upstream} of the current branch. * "git rev-list --count" used with "--cherry-mark" counts the cherry-picked commits separately, producing more a useful output. * "git submodule update" learned "--force" option to get rid of local changes in submodules and replace them with the up-to-date version. * Compressed tarball gitweb generates is made without the timestamp of the tarball generation; snapshot from the same tree should result in a same tarball. Also contains various documentation updates and minor miscellaneous changes. Fixes since v1.7.5 ------------------ Unless otherwise noted, all the fixes in 1.7.5.X maintenance track are included in this release. * Setting $(prefix) in config.mak did not affect where etc/gitconfig file is read from, even though passing it from the command line of $(MAKE) did. (merge kk/maint-prefix-in-config-mak later) * The bash completion scripts should correctly work using zsh's bash completion emulation layer now. (merge either fc/completion-zsh later) * "git config" used to choke with an insanely long line. (merge ef/maint-strbuf-init later) * "git send-pack" (hence "git push") over smalt-HTTP protocol could deadlock when the client side pack-object died early. (merge js/maint-send-pack-stateless-rpc-deadlock-fix later) --- exec >/var/tmp/1 echo O=$(git describe master) O=v1.7.5.1-339-g254fd97 git shortlog --no-merges ^maint ^$O master