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 cvsimport" learned that CVSNT stores its password file in a 22 location different from the traditional CVS. 23 24 * "git diff -C -C" used to disable the rename detection entirely when 25 there are too many copy candidate paths in the tree; now it falls 26 back to "-C" when doing so would keep the copy candidate paths 27 under the rename detection limit. 28 29 * "git format-patch" learned "--quiet" option to suppress the output of 30 the names of generated files. 31 32 * "git format-patch" quotes people's names when it has RFC822 special 33 characters in it, e.g. "Junio C. Hamano" <jch@example.com>. Earlier 34 it was up to the user to do this when using its output. 35 36 * "git log" and friends learned a new "--notes" option to replace the 37 "--show-notes" option. Unlike "--show-notes", "--notes=<ref>" does 38 not imply showing the default notes. 39 40 * "git merge" learned "-" as a short-hand for "the previous branch", just 41 like the way "git checkout -" works. 42 43 * "git rebase" that does not specify on top of which branch to rebase 44 the current branch now uses @{upstream} of the current branch. 45 46 * "git rev-list --count" used with "--cherry-mark" counts the cherry-picked 47 commits separately, producing more a useful output. 48 49 * "git submodule update" learned "--force" option to get rid of local 50 changes in submodules and replace them with the up-to-date version. 51 52 * Compressed tarball gitweb generates is made without the timestamp of 53 the tarball generation; snapshot from the same tree should result in 54 a same tarball. 55 56 * "git-p4" (in contrib) learned to merge a file that was added on both 57 branches differently by using 2-way merge. 58 59Also contains various documentation updates and minor miscellaneous 60changes. 61 62 63Fixes since v1.7.5 64------------------ 65 66Unless otherwise noted, all the fixes in 1.7.5.X maintenance track are 67included in this release. 68 69 * "git add -p" did not work correctly when a hunk is split and then 70 one of them was given to the editor. 71 (merge jc/maint-add-p-overlapping-hunks later) 72 73 * "git config" used to choke with an insanely long line. 74 (merge ef/maint-strbuf-init later) 75 76 * "git diff-files" did not show the mode information from the working 77 tree side of an unmerged path correctly. 78 (merge jc/fix-diff-files-unmerged later) 79 80 * "git diff -M --cached" used to use unmerged path as a possible rename 81 source candidate, which made no sense. 82 (merge mz/maint-rename-unmerged later) 83 84 * "git format-patch" when run with "--quiet" option used to produce a 85 nonsense result that consists of alternating empty output. 86 (merge early part of cn/format-patch-quiet later) 87 88 * "git format-patch" did not quote RFC822 special characters in the 89 email address (e.g From: Junio C. Hamano <jch@example.com>, not 90 From: "Junio C. Hamano" <jch@example.com>). 91 (merge jk/format-patch-quote-special-in-from later) 92 93 * In "git merge", per-branch branch.<name>.mergeoptions configuration 94 variables did not override the fallback default merge.<option> 95 configuration variables such as merge.ff, merge.log, etc. 96 (merge jc/maint-branch-mergeoptions later) 97 98 * "git merge-one-file" did not honor GIT_WORK_TREE settings when 99 handling a "both sides added, differently" conflict. 100 (merge jk/merge-one-file-working-tree later) 101 102 * "git mergetool" did not handle conflicted submoudules gracefully. 103 (merge jm/mergetool-submodules later) 104 105 * "git rebase -i -p" failed to preserve the history when there is a 106 redundant merge created with the --no-ff option. 107 (merge aw/maint-rebase-i-p-no-ff later) 108 109 * "git stash -p --no-keep-index" and "git stash --no-keep-index -p" now 110 mean the same thing. 111 (merge dm/stash-k-i-p later) 112 113 * "git upload-pack" (hence "git push" over git native protocol) had a 114 subtle race condition that could lead to a deadlock. 115 (merge jk/maint-upload-pack-shallow later) 116 117--- 118exec >/var/tmp/1 119echo O=$(git describe master) 120O=v1.7.5.1-248-ga579498 121git shortlog --no-merges ^maint ^$O master