summaryrefslogtreecommitdiff
path: root/Documentation/RelNotes/2.26.0.txt
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/RelNotes/2.26.0.txt')
-rw-r--r--Documentation/RelNotes/2.26.0.txt139
1 files changed, 124 insertions, 15 deletions
diff --git a/Documentation/RelNotes/2.26.0.txt b/Documentation/RelNotes/2.26.0.txt
index e8a78b7a19..3a7a734c26 100644
--- a/Documentation/RelNotes/2.26.0.txt
+++ b/Documentation/RelNotes/2.26.0.txt
@@ -4,6 +4,19 @@ Git 2.26 Release Notes
Updates since v2.25
-------------------
+Backward compatibility notes
+
+ * "git rebase" uses a different backend that is based on the 'merge'
+ machinery by default. There are a few known differences in the
+ behaviour from the traditional machinery based on patch+apply.
+
+ If your workflow is negatively affected by this change, please
+ report it to git@vger.kernel.org so that we can take a look into
+ it. After doing so, you can set the 'rebase.backend' configuration
+ variable to 'apply', in order to use the old default behaviour in
+ the meantime.
+
+
UI, Workflows & Features
* Sample credential helper for using .netrc has been updated to work
@@ -35,6 +48,30 @@ UI, Workflows & Features
* "git config" learned to show in which "scope", in addition to in
which file, each config setting comes from.
+ * The basic 7 colors learned the brighter counterparts
+ (e.g. "brightred").
+
+ * "git sparse-checkout" learned a new "add" subcommand.
+
+ * A configuration element used for credential subsystem can now use
+ wildcard pattern to specify for which set of URLs the entry
+ applies.
+
+ * "git clone --recurse-submodules --single-branch" now uses the same
+ single-branch option when cloning the submodules.
+
+ * "git rm" and "git stash" learns the new "--pathspec-from-file"
+ option.
+
+ * "git am --show-current-patch" is a way to show the piece of e-mail
+ for the stopped step, which is not suitable to directly feed "git
+ apply" (it is designed to be a good "git am" input). It learned a
+ new option to show only the patch part.
+
+ * Handling of conflicting renames in merge-recursive have further
+ been made consistent with how existing codepaths try to mimic what
+ is done to add/add conflicts.
+
Performance, Internal Implementation, Development Support etc.
@@ -42,7 +79,7 @@ Performance, Internal Implementation, Development Support etc.
with tabs.
* The test-lint machinery knew to check "VAR=VAL shell_function"
- construct, but did not check "VAR= shell_funciton", which has been
+ construct, but did not check "VAR= shell_function", which has been
corrected.
* Replace "git config --bool" calls with "git config --type=bool" in
@@ -92,6 +129,22 @@ Performance, Internal Implementation, Development Support etc.
* Memory footprint and performance of "git name-rev" has been
improved.
+ * The object reachability bitmap machinery and the partial cloning
+ machinery were not prepared to work well together, because some
+ object-filtering criteria that partial clones use inherently rely
+ on object traversal, but the bitmap machinery is an optimization
+ to bypass that object traversal. There however are some cases
+ where they can work together, and they were taught about them.
+
+ * "git rebase" has learned to use the merge backend (i.e. the
+ machinery that drives "rebase -i") by default, while allowing
+ "--apply" option to use the "apply" backend (e.g. the moral
+ equivalent of "format-patch piped to am"). The rebase.backend
+ configuration variable can be set to customize.
+
+ * Underlying machinery of "git bisect--helper" is being refactored
+ into pieces that are more easily reused.
+
Fixes since v2.25
-----------------
@@ -135,7 +188,6 @@ Fixes since v2.25
of gcc and clang.
* Minor bugfixes to "git add -i" that has recently been rewritten in C.
- (merge 849e43cc18 js/builtin-add-i-cmds later to maint).
* "git fetch --refmap=" option has got a better documentation.
@@ -158,17 +210,14 @@ Fixes since v2.25
* The "--recurse-submodules" option of various subcommands did not
work well when run in an alternate worktree, which has been
corrected.
- (merge a9472afb63 pb/recurse-submodule-in-worktree-fix later to maint).
* Futureproofing a test not to depend on the current implementation
detail.
* Running "git rm" on a submodule failed unnecessarily when
.gitmodules is only cache-dirty, which has been corrected.
- (merge 7edee32985 dt/submodule-rm-with-stale-cache later to maint).
* C pedantry ;-) fix.
- (merge cf82bff73f jk/clang-sanitizer-fixes later to maint).
* "git grep --no-index" should not get affected by the contents of
the .gitmodules file but when "--recurse-submodules" is given or
@@ -180,12 +229,11 @@ Fixes since v2.25
* Unhelpful warning messages during documentation build have been squelched.
* "git rebase -i" identifies existing commits in its todo file with
- their abbreviated object name, which could become ambigous as it
+ their abbreviated object name, which could become ambiguous as it
goes to create new commits, and has a mechanism to avoid ambiguity
in the main part of its execution. A few other cases however were
not covered by the protection against ambiguity, which has been
corrected.
- (merge 26027625dd js/rebase-i-with-colliding-hash later to maint).
* Allow the rebase.missingCommitsCheck configuration to kick in when
"rebase --edit-todo" and "rebase --continue" restarts the procedure.
@@ -199,21 +247,77 @@ Fixes since v2.25
* The code to automatically shrink the fan-out in the notes tree had
an off-by-one bug, which has been killed.
- (merge dbc27477ff jh/notes-fanout-fix later to maint).
* The index-pack code now diagnoses a bad input packstream that
records the same object twice when it is used as delta base; the
code used to declare a software bug when encountering such an
input, but it is an input error.
- (merge a21781011f jk/index-pack-dupfix later to maint).
+
* The code to compute the commit-graph has been taught to use a more
robust way to tell if two object directories refer to the same
thing.
(merge a7df60cac8 tb/commit-graph-object-dir later to maint).
+ * "git remote rename X Y" needs to adjust configuration variables
+ (e.g. branch.<name>.remote) whose value used to be X to Y.
+ branch.<name>.pushRemote is now also updated.
+
+ * Update to doc-diff.
+
+ * Doc markup fix.
+
+ * "git check-ignore" did not work when the given path is explicitly
+ marked as not ignored with a negative entry in the .gitignore file.
+
+ * The merge-recursive machinery failed to refresh the cache entry for
+ a merge result in a couple of places, resulting in an unnecessary
+ merge failure, which has been fixed.
+
+ * Fix for a bug revealed by a recent change to make the protocol v2
+ the default.
+
+ * In rare cases "git worktree add <path>" could think that <path>
+ was already a registered worktree even when it wasn't and refuse
+ to add the new worktree. This has been corrected.
+ (merge bb69b3b009 es/worktree-avoid-duplication-fix later to maint).
+
+ * "git push" should stop from updating a branch that is checked out
+ when receive.denyCurrentBranch configuration is set, but it failed
+ to pay attention to checkouts in secondary worktrees. This has
+ been corrected.
+ (merge 4d864895a2 hv/receive-denycurrent-everywhere later to maint).
+
+ * "git rebase BASE BRANCH" rebased/updated the tip of BRANCH and
+ checked it out, even when the BRANCH is checked out in a different
+ worktree. This has been corrected.
+ (merge b5cabb4a96 es/do-not-let-rebase-switch-to-protected-branch later to maint).
+
+ * "git describe" in a repository with multiple root commits sometimes
+ gave up looking for the best tag to describe a given commit with
+ too early, which has been adjusted.
+
+ * "git merge signed-tag" while lacking the public key started to say
+ "No signature", which was utterly wrong. This regression has been
+ reverted.
+
+ * MinGW's poll() emulation has been improved.
+
+ * "git show" and others gave an object name in raw format in its
+ error output, which has been corrected to give it in hex.
+
+ * "git fetch" over HTTP walker protocol did not show any progress
+ output. We inherently do not know how much work remains, but still
+ we can show something not to bore users.
+ (merge 7655b4119d rs/show-progress-in-dumb-http-fetch later to maint).
+
+ * Both "git ls-remote -h" and "git grep -h" give short usage help,
+ like any other Git subcommand, but it is not unreasonable to expect
+ that the former would behave the same as "git ls-remote --head"
+ (there is no other sensible behaviour for the latter). The
+ documentation has been updated in an attempt to clarify this.
+
* Other code cleanup, docfix, build fix, etc.
- (merge 26f924d50e en/simplify-check-updates-in-unpack-trees later to maint).
(merge d0d0a357a1 am/update-pathspec-f-f-tests later to maint).
(merge f94f7bd00d am/test-pathspec-f-f-error-cases later to maint).
(merge c513a958b6 ss/t6025-modernize later to maint).
@@ -224,9 +328,14 @@ Fixes since v2.25
(merge 7a9f8ca805 rs/parse-options-concat-dup later to maint).
(merge 517b60564e rs/strbuf-insertstr later to maint).
(merge f696a2b1c8 jk/mailinfo-cleanup later to maint).
- (merge 076ee3e8a2 js/test-write-junit-xml-fix later to maint).
(merge de26f02db1 js/test-avoid-pipe later to maint).
- (merge bfe2bbb47f js/test-unc-fetch later to maint).
- (merge 08809c09aa js/mingw-open-in-gdb later to maint).
- (merge cc4f2eb828 jk/doc-credential-helper later to maint).
- (merge e0020b2f82 es/outside-repo-errmsg-hints later to maint).
+ (merge a2dc43414c es/doc-mentoring later to maint).
+ (merge 02bbbe9df9 es/worktree-cleanup later to maint).
+ (merge 2ce6d075fa rs/micro-cleanups later to maint).
+ (merge 27f182b3fc rs/blame-typefix-for-fingerprint later to maint).
+ (merge 3c29e21eb0 ma/test-cleanup later to maint).
+ (merge 240fc04f81 ag/rebase-remove-redundant-code later to maint).
+ (merge d68ce906c7 rs/commit-graph-code-simplification later to maint).
+ (merge a51d9e8f07 rj/t1050-use-test-path-is-file later to maint).
+ (merge fd0bc17557 kk/complete-diff-color-moved later to maint).
+ (merge 65bf820d0e en/test-cleanup later to maint).