| Git v1.7.11 Release Notes |
| ========================= |
| |
| Updates since v1.7.10 |
| --------------------- |
| |
| UI, Workflows & Features |
| |
| * A third-party tool "git subtree" is distributed in contrib/ |
| |
| * Even with "-q"uiet option, "checkout" used to report setting up |
| tracking. Also "branch" learned the "-q"uiet option to squelch |
| informational message. |
| |
| * The smart-http backend used to always override GIT_COMMITTER_* |
| variables with REMOTE_USER and REMOTE_ADDR, but these variables are |
| now preserved when set. |
| |
| * "git am" learned the "--include" option, which is an opposite of |
| existing the "--exclude" option. |
| |
| * When "git am -3" needs to fall back to an application to a |
| synthesized preimage followed by a 3-way merge, the paths that |
| needed such treatment are now reported to the end user, so that the |
| result in them can be eyeballed with extra care. |
| |
| * The "fmt-merge-msg" command learns to list the primary contributors |
| involved in the side topic you are merging. |
| |
| * The cases "git push" fails due to non-ff can be broken into three |
| categories; each case is given a separate advise message. |
| |
| * A 'snapshot' request to "gitweb" honors If-Modified-Since: header, |
| based on the commit date. |
| |
| Foreign Interface |
| |
| |
| Performance |
| |
| |
| Internal Implementation (please report possible regressions) |
| |
| * Minor memory leak during unpack_trees (hence "merge" and "checkout" |
| to check out another branch) has been plugged. |
| |
| * More lower-level commands learned to use the streaming API to read |
| from the object store without keeping everything in core. |
| |
| * Because "sh" on the user's PATH may be utterly broken on some |
| systems, run-command API now uses SHELL_PATH, not /bin/sh, when |
| spawning an external command (not applicable to Windows port). |
| |
| Also contains minor documentation updates and code clean-ups. |
| |
| |
| Fixes since v1.7.10 |
| ------------------- |
| |
| Unless otherwise noted, all the fixes since v1.7.10 in the maintenance |
| releases are contained in this release (see release notes to them for |
| details). |
| |
| * When PATH contains an unreadable directory, alias expansion code |
| did not kick in, and failed with an error that said "git-subcmd" |
| was not found. |
| (merge 38f865c jk/run-command-eacces later to maint). |
| |
| * The 'push to upstream' implementation was broken in some corner |
| cases. "git push $there" without refspec, when the current branch |
| is set to push to a remote different from $there, used to push to |
| $there using the upstream information to a remote unreleated to |
| $there. |
| (merge 135dade jc/push-upstream-sanity later to maint). |
| |
| * "git clean -d -f" (not "-d -f -f") is supposed to protect nested |
| working trees of independent git repositories that exist in the |
| current project working tree from getting removed, but the |
| protection applied only to such working trees that are at the |
| top-level of the current project by mistake. |
| (merge ae2f203 jc/maint-clean-nested-worktree-in-subdir later to maint). |
| |
| * Rename detection logic used to match two empty files as renames |
| during merge-recursive, leading unnatural mismerges. |
| (merge 4f7cb99 jk/diff-no-rename-empty later to maint). |
| |
| * An age-old corner case bug in combine diff (only triggered with -U0 |
| and the hunk at the beginning of the file needs to be shown) has |
| been fixed. |
| (merge e5e9b56 rs/combine-diff-zero-context-at-the-beginning later to maint). |
| |
| * When "git commit --template F" errors out because the user did not |
| touch the message, it claimed that it aborts due to "empty |
| message", which was utterly wrong. |
| (merge 1f08c2c jc/commit-unedited-template later to maint). |
| |
| * "git add -p" is not designed to deal with unmerged paths but did |
| not exclude them and tried to apply funny patches only to fail. |
| (merge 4066bd6 jk/add-p-skip-conflicts later to maint). |
| |
| * "git commit --author=$name" did not tell the name that was being |
| recorded in the resulting commit to hooks, even though it does do |
| so when the end user overrode the authorship via the |
| "GIT_AUTHOR_NAME" environment variable. |
| (merge 7dfe8ad jc/commit-hook-authorship later to maint). |
| |
| * The regexp configured with diff.wordregex was incorrectly reused |
| across files. |
| (merge 6440d34 tr/maint-word-diff-regex-sticky later to maint). |
| |
| * Running "notes merge --commit" failed to perform correctly when run |
| from any directory inside $GIT_DIR/. When "notes merge" stops with |
| conflicts, $GIT_DIR/NOTES_MERGE_WORKTREE is the place a user edits |
| to resolve it. |
| (merge dabba59 jh/notes-merge-in-git-dir-worktree later to maint). |