1 Git v1.7.6 Release Notes (draft)
2 ========================
7 * Various git-svn updates.
9 * Updates the way content tags are handled in gitweb.
11 * Similar to branch names, tagnames that begin with "-" are now
14 * Clean-up of the C part of i18n (but not l10n---please wait)
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.
21 * "git blame" learned "--abbrev[=<n>]" option to control the minimum
22 number of hexdigits shown for commit object names.
24 * Aborting "git commit --interactive" discards updates to the index
25 made during the interctive session.
27 * "git commit" learned a "--patch" option to directly jump to the
28 per-hunk selection UI of the interactive mode.
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.
35 * "git diff" and its family of commands learned --dirstat=0 to show
36 directories that contribute less than 0.1% of changes.
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.
42 * "git format-patch" learned "--quiet" option to suppress the output of
43 the names of generated files.
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.
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.
53 * "git merge" learned "-" as a short-hand for "the previous branch", just
54 like the way "git checkout -" works.
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.
62 * p4-import (from contrib) learned a new option --preserve-user.
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.
67 * "git rev-list --count" used with "--cherry-mark" counts the cherry-picked
68 commits separately, producing more a useful output.
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.
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.
77 * Compressed tarball gitweb generates is made without the timestamp of
78 the tarball generation; snapshot from the same tree should result in
81 Also contains various documentation updates and minor miscellaneous
88 Unless otherwise noted, all the fixes in 1.7.5.X maintenance track are
89 included in this release.
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
94 (merge kk/maint-prefix-in-config-mak later)
96 * The bash completion scripts should correctly work using zsh's bash
97 completion emulation layer now.
98 (merge fc/completion-zsh later)
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)
104 * "git cherry-pick -s resolve" failed to cherry-pick a root commit.
105 (merge jk/cherry-pick-root-with-resolve later)
107 * "git config" used to choke with an insanely long line.
108 (merge ef/maint-strbuf-init later)
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)
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)
121 echo O=$(git describe master)
122 O=v1.7.5.1-339-g254fd97
123 git shortlog --no-merges ^maint ^$O master