|
| 1 | +Git v2.11.1 Release Notes |
| 2 | +========================= |
| 3 | + |
| 4 | +Fixes since v2.11 |
| 5 | +----------------- |
| 6 | + |
| 7 | + * The default Travis-CI configuration specifies newer P4 and GitLFS. |
| 8 | + |
| 9 | + * The character width table has been updated to match Unicode 9.0 |
| 10 | + |
| 11 | + * Update the isatty() emulation for Windows by updating the previous |
| 12 | + hack that depended on internals of (older) MSVC runtime. |
| 13 | + |
| 14 | + * "git rev-parse --symbolic" failed with a more recent notation like |
| 15 | + "HEAD^-1" and "HEAD^!". |
| 16 | + |
| 17 | + * An empty directory in a working tree that can simply be nuked used |
| 18 | + to interfere while merging or cherry-picking a change to create a |
| 19 | + submodule directory there, which has been fixed.. |
| 20 | + |
| 21 | + * The code in "git push" to compute if any commit being pushed in the |
| 22 | + superproject binds a commit in a submodule that hasn't been pushed |
| 23 | + out was overly inefficient, making it unusable even for a small |
| 24 | + project that does not have any submodule but have a reasonable |
| 25 | + number of refs. |
| 26 | + |
| 27 | + * "git push --dry-run --recurse-submodule=on-demand" wasn't |
| 28 | + "--dry-run" in the submodules. |
| 29 | + |
| 30 | + * The output from "git worktree list" was made in readdir() order, |
| 31 | + and was unstable. |
| 32 | + |
| 33 | + * mergetool.<tool>.trustExitCode configuration variable did not apply |
| 34 | + to built-in tools, but now it does. |
| 35 | + |
| 36 | + * "git p4" LFS support was broken when LFS stores an empty blob. |
| 37 | + |
| 38 | + * Fix a corner case in merge-recursive regression that crept in |
| 39 | + during 2.10 development cycle. |
| 40 | + |
| 41 | + * Update the error messages from the dumb-http client when it fails |
| 42 | + to obtain loose objects; we used to give sensible error message |
| 43 | + only upon 404 but we now forbid unexpected redirects that needs to |
| 44 | + be reported with something sensible. |
| 45 | + |
| 46 | + * When diff.renames configuration is on (and with Git 2.9 and later, |
| 47 | + it is enabled by default, which made it worse), "git stash" |
| 48 | + misbehaved if a file is removed and another file with a very |
| 49 | + similar content is added. |
| 50 | + |
| 51 | + * "git diff --no-index" did not take "--no-abbrev" option. |
| 52 | + |
| 53 | + * "git difftool --dir-diff" had a minor regression when started from |
| 54 | + a subdirectory, which has been fixed. |
| 55 | + |
| 56 | + * "git commit --allow-empty --only" (no pathspec) with dirty index |
| 57 | + ought to be an acceptable way to create a new commit that does not |
| 58 | + change any paths, but it was forbidden, perhaps because nobody |
| 59 | + needed it so far. |
| 60 | + |
| 61 | + * A pathname that begins with "//" or "\\" on Windows is special but |
| 62 | + path normalization logic was unaware of it. |
| 63 | + |
| 64 | + * "git pull --rebase", when there is no new commits on our side since |
| 65 | + we forked from the upstream, should be able to fast-forward without |
| 66 | + invoking "git rebase", but it didn't. |
| 67 | + |
| 68 | + * The way to specify hotkeys to "xxdiff" that is used by "git |
| 69 | + mergetool" has been modernized to match recent versions of xxdiff. |
| 70 | + |
| 71 | + * Unlike "git am --abort", "git cherry-pick --abort" moved HEAD back |
| 72 | + to where cherry-pick started while picking multiple changes, when |
| 73 | + the cherry-pick stopped to ask for help from the user, and the user |
| 74 | + did "git reset --hard" to a different commit in order to re-attempt |
| 75 | + the operation. |
| 76 | + |
| 77 | + * Code cleanup in shallow boundary computation. |
| 78 | + |
| 79 | + * A recent update to receive-pack to make it easier to drop garbage |
| 80 | + objects made it clear that GIT_ALTERNATE_OBJECT_DIRECTORIES cannot |
| 81 | + have a pathname with a colon in it (no surprise!), and this in turn |
| 82 | + made it impossible to push into a repository at such a path. This |
| 83 | + has been fixed by introducing a quoting mechanism used when |
| 84 | + appending such a path to the colon-separated list. |
| 85 | + |
| 86 | + * The function usage_msg_opt() has been updated to say "fatal:" |
| 87 | + before the custom message programs give, when they want to die |
| 88 | + with a message about wrong command line options followed by the |
| 89 | + standard usage string. |
| 90 | + |
| 91 | + * "git index-pack --stdin" needs an access to an existing repository, |
| 92 | + but "git index-pack file.pack" to generate an .idx file that |
| 93 | + corresponds to a packfile does not. |
| 94 | + |
| 95 | + * Fix for NDEBUG builds. |
| 96 | + |
| 97 | + * A lazy "git push" without refspec did not internally use a fully |
| 98 | + specified refspec to perform 'current', 'simple', or 'upstream' |
| 99 | + push, causing unnecessary "ambiguous ref" errors. |
| 100 | + |
| 101 | + * "git p4" misbehaved when swapping a directory and a symbolic link. |
| 102 | + |
| 103 | + * Even though an fix was attempted in Git 2.9.3 days, but running |
| 104 | + "git difftool --dir-diff" from a subdirectory never worked. This |
| 105 | + has been fixed. |
| 106 | + |
| 107 | + * "git p4" that tracks multile p4 paths imported a single changelist |
| 108 | + that touches files in these multiple paths as one commit, followed |
| 109 | + by many empty commits. This has been fixed. |
| 110 | + |
| 111 | + * A potential but unlikely buffer overflow in Windows port has been |
| 112 | + fixed. |
| 113 | + |
| 114 | + * When the http server gives an incomplete response to a smart-http |
| 115 | + rpc call, it could lead to client waiting for a full response that |
| 116 | + will never come. Teach the client side to notice this condition |
| 117 | + and abort the transfer. |
| 118 | + |
| 119 | + |
| 120 | +Also contains various documentation updates and code clean-ups. |
0 commit comments