|
| 1 | +Git 2.7 Release Notes |
| 2 | +===================== |
| 3 | + |
| 4 | +Updates since v2.6 |
| 5 | +------------------ |
| 6 | + |
| 7 | +UI, Workflows & Features |
| 8 | + |
| 9 | + * "git remote" learned "get-url" subcommand to show the URL for a |
| 10 | + given remote name used for fetching and pushing. |
| 11 | + |
| 12 | + * There was no way to defeat a configured rebase.autostash variable |
| 13 | + from the command line, as "git rebase --no-autostash" was missing. |
| 14 | + |
| 15 | + * "git log --date=local" used to only show the normal (default) |
| 16 | + format in the local timezone. The command learned to take 'local' |
| 17 | + as an instruction to use the local timezone with other formats, |
| 18 | + |
| 19 | + * The refs used during a "git bisect" session is now per-worktree so |
| 20 | + that independent bisect sessions can be done in different worktrees |
| 21 | + created with "git worktree add". |
| 22 | + |
| 23 | + * Users who are too busy to type three extra keystrokes to ask for |
| 24 | + "git stash show -p" can now set stash.showPatch configuration |
| 25 | + varible to true to always see the actual patch, not just the list |
| 26 | + of paths affected with feel for the extent of damage via diffstat. |
| 27 | + |
| 28 | + * "quiltimport" allows to specify the series file by honoring the |
| 29 | + $QUILT_SERIES environment and also --series command line option. |
| 30 | + |
| 31 | + * The use of 'good/bad' in "git bisect" made it confusing to use when |
| 32 | + hunting for a state change that is not a regression (e.g. bugfix). |
| 33 | + The command learned 'old/new' and then allows the end user to |
| 34 | + say e.g. "bisect start --term-old=fast --term=new=slow" to find a |
| 35 | + performance regression. |
| 36 | + |
| 37 | + * "git interpret-trailers" can now run outside of a Git repository. |
| 38 | + |
| 39 | + |
| 40 | +Performance, Internal Implementation, Development Support etc. |
| 41 | + |
| 42 | + * The infrastructure to rewrite "git submodule" in C is being built |
| 43 | + incrementally. Let's polish these early parts well enough and make |
| 44 | + them graduate to 'next' and 'master', so that the more involved |
| 45 | + follow-up can start cooking on a solid ground. |
| 46 | + |
| 47 | + * Some features from "git tag -l" and "git branch -l" have been made |
| 48 | + available to "git for-each-ref" so that eventually the unified |
| 49 | + implementation can be shared across all three. |
| 50 | + |
| 51 | + * Because "test_when_finished" in our test framework queues the |
| 52 | + clean-up tasks to be done in a shell variable, it should not be |
| 53 | + used inside a subshell. Add a mechanism to allow 'bash' to catch |
| 54 | + such uses, and fix the ones that were found. |
| 55 | + (merge 0968f12 jk/test-lint-forbid-when-finished-in-subshell later to maint). |
| 56 | + |
| 57 | + * The debugging infrastructure for pkt-line based communication has |
| 58 | + been improved to mark the side-band communication specifically. |
| 59 | + (merge fd89433 jk/async-pkt-line later to maint). |
| 60 | + |
| 61 | + |
| 62 | +Also contains various documentation updates and code clean-ups. |
| 63 | + |
| 64 | + |
| 65 | +Fixes since v2.6 |
| 66 | +---------------- |
| 67 | + |
| 68 | +Unless otherwise noted, all the fixes since v2.6 in the maintenance |
| 69 | +track are contained in this release (see the maintenance releases' |
| 70 | +notes for details). |
| 71 | + |
| 72 | + * Very small number of options take a parameter that is optional |
| 73 | + (which is not a great UI element as they can only appear at the end |
| 74 | + of the command line). Add notice to documentation of each and |
| 75 | + every one of them. |
| 76 | + (merge 2b594bf mm/keyid-docs later to maint). |
| 77 | + |
| 78 | + * "git blame --first-parent v1.0..v2.0" was not rejected but did not |
| 79 | + limit the blame to commits on the first parent chain. |
| 80 | + (merge 95a4fb0 jk/blame-first-parent later to maint). |
| 81 | + |
| 82 | + * "git subtree" (in contrib/) now can take whitespaces in the |
| 83 | + pathnames, not only in the in-tree pathname but the name of the |
| 84 | + directory that the repository is in. (merge 5b6ab38 |
| 85 | + as/subtree-with-spaces later to maint). |
| 86 | + |
| 87 | + * The ssh transport, just like any other transport over the network, |
| 88 | + did not clear GIT_* environment variables, but it is possible to |
| 89 | + use SendEnv and AcceptEnv to leak them to the remote invocation of |
| 90 | + Git, which is not a good idea at all. Explicitly clear them just |
| 91 | + like we do for the local transport. |
| 92 | + (merge a48b409 jk/connect-clear-env later to maint). |
| 93 | + |
| 94 | + * Correct "git p4 --detect-labels" so that it does not fail to create |
| 95 | + a tag that points at a commit that is also being imported. |
| 96 | + (merge b43702a ld/p4-import-labels later to maint). |
| 97 | + |
| 98 | + * The Makefile always runs the library archiver with hardcoded "crs" |
| 99 | + options, which was inconvenient for exotic platforms on which |
| 100 | + people want to use programs with totally different set of command |
| 101 | + line options. |
| 102 | + (merge ac179b4 jw/make-arflags-customizable later to maint). |
| 103 | + |
| 104 | + * Customization to change the behaviour with "make -w" and "make -s" |
| 105 | + in our Makefile was broken when they were used together. |
| 106 | + (merge ef49e05 jk/make-findstring-makeflags-fix later to maint). |
| 107 | + |
| 108 | + * Code clean-up and minor fixes. |
| 109 | + (merge 15ed07d jc/rerere later to maint). |
0 commit comments