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 * Similar to branch names, tagnames that begin with "-" are now 12 disallowed. 13 14 * Clean-up of the C part of i18n (but not l10n---please wait) 15 continues. 16 17 * Processes spawned by "[alias] <name> = !process" in the configuration 18 can inspect GIT_PREFIX environment variable to learn where in the 19 working tree the original command was invoked. 20 21 * "git blame" learned "--abbrev[=<n>]" option to control the minimum 22 number of hexdigits shown for commit object names. 23 24 * Aborting "git commit --interactive" discards updates to the index 25 made during the interctive session. 26 27 * "git commit" learned a "--patch" option to directly jump to the 28 per-hunk selection UI of the interactive mode. 29 30 * "git diff -C -C" used to disable the rename detection entirely when 31 there are too many copy candidate paths in the tree; now it falls 32 back to "-C" when doing so would keep the copy candidate paths 33 under the rename detection limit. 34 35 * "git diff" and its family of commands learned --dirstat=0 to show 36 directories that contribute less than 0.1% of changes. 37 38 * "git diff" and its family of commands learned --dirstat=lines mode to 39 assess damage to the directory based on number of lines in the patch 40 output, not based on the similarity numbers. 41 42 * "git format-patch" learned "--quiet" option to suppress the output of 43 the names of generated files. 44 45 * "git format-patch" quotes people's names when it has RFC822 special 46 characters in it, e.g. "Junio C. Hamano" <jch@example.com>. Earlier 47 it was up to the user to do this when using its output. 48 49 * "git log" and friends learned a new "--notes" option to replace the 50 "--show-notes" option. Unlike "--show-notes", "--notes=<ref>" does 51 not imply showing the default notes. 52 53 * "git merge" learned "-" as a short-hand for "the previous branch", just 54 like the way "git checkout -" works. 55 56 * "git merge" uses "merge.ff" configuration variable to decide to always 57 create a merge commit (i.e. --no-ff, aka merge.ff=no), refuse to create 58 a merge commit (i.e. --ff-only, aka merge.ff=only). Setting merge.ff=yes 59 (or not setting it at all) restores the default behaviour of allowing 60 fast-forward to happen when possible. 61 62 * p4-import (from contrib) learned a new option --preserve-user. 63 64 * "git rebase" that does not specify on top of which branch to rebase 65 the current branch now uses @{upstream} of the current branch. 66 67 * "git rev-list --count" used with "--cherry-mark" counts the cherry-picked 68 commits separately, producing more a useful output. 69 70 * "git submodule update" learned "--force" option to get rid of local 71 changes in submodules and replace them with the up-to-date version. 72 73 * "git status" and friends ignore .gitmodules file while the file is 74 still in a conflicted state during a merge, to avoid using information 75 that is not final and possibly corrupt with conflict markers. 76 77 * Compressed tarball gitweb generates is made without the timestamp of 78 the tarball generation; snapshot from the same tree should result in 79 a same tarball. 80 81Also contains various documentation updates and minor miscellaneous 82changes. 83 84 85Fixes since v1.7.5 86------------------ 87 88Unless otherwise noted, all the fixes in 1.7.5.X maintenance track are 89included in this release. 90 91 * Setting $(prefix) in config.mak did not affect where etc/gitconfig 92 file is read from, even though passing it from the command line of 93 $(MAKE) did. 94 (merge kk/maint-prefix-in-config-mak later) 95 96 * The bash completion scripts should correctly work using zsh's bash 97 completion emulation layer now. 98 (merge fc/completion-zsh later) 99 100 * The logic to handle "&" (expand to UNIX username) in GECOS field 101 miscounted the length of the name it formatted. 102 (merge rg/copy-gecos-username later) 103 104 * "git cherry-pick -s resolve" failed to cherry-pick a root commit. 105 (merge jk/cherry-pick-root-with-resolve later) 106 107 * "git config" used to choke with an insanely long line. 108 (merge ef/maint-strbuf-init later) 109 110 * "git log --stdin path" with an input that has additional pathspec 111 used to corrupt memory. 112 (merge jc/maint-pathspec-stdin-and-cmdline later) 113 114 * "git send-pack" (hence "git push") over smalt-HTTP protocol could 115 deadlock when the client side pack-object died early. 116 (merge js/maint-send-pack-stateless-rpc-deadlock-fix later) 117 (merge jk/git-connection-deadlock-fix later) 118 119--- 120exec >/var/tmp/1 121echo O=$(git describe master) 122O=v1.7.5.1-339-g254fd97 123git shortlog --no-merges ^maint ^$O master