You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
246 lines
11 KiB
246 lines
11 KiB
Git 2.26 Release Notes |
|
====================== |
|
|
|
Updates since v2.25 |
|
------------------- |
|
|
|
UI, Workflows & Features |
|
|
|
* Sample credential helper for using .netrc has been updated to work |
|
out of the box. |
|
|
|
* gpg.minTrustLevel configuration variable has been introduced to |
|
tell various signature verification codepaths the required minimum |
|
trust level. |
|
|
|
* The command line completion (in contrib/) learned to complete |
|
subcommands and arguments to "git worktree". |
|
|
|
* Disambiguation logic to tell revisions and pathspec apart has been |
|
tweaked so that backslash-escaped glob special characters do not |
|
count in the "wildcards are pathspec" rule. |
|
|
|
* One effect of specifying where the GIT_DIR is (either with the |
|
environment variable, or with the "git --git-dir=<where> cmd" |
|
option) is to disable the repository discovery. This has been |
|
placed a bit more stress in the documentation, as new users often |
|
get confused. |
|
|
|
* Two help messages given when "git add" notices the user gave it |
|
nothing to add have been updated to use advise() API. |
|
|
|
* A new version of fsmonitor-watchman hook has been introduced, to |
|
avoid races. |
|
|
|
|
|
Performance, Internal Implementation, Development Support etc. |
|
|
|
* Tell .editorconfig that in this project, *.txt files are indented |
|
with tabs. |
|
|
|
* The test-lint machinery knew to check "VAR=VAL shell_function" |
|
construct, but did not check "VAR= shell_funciton", which has been |
|
corrected. |
|
|
|
* Replace "git config --bool" calls with "git config --type=bool" in |
|
sample templates. |
|
|
|
* The effort to move "git-add--interactive" to C continues. |
|
|
|
* Improve error message generation for "git submodule add". |
|
|
|
* Preparation of test scripts for the day when the object names will |
|
use SHA-256 continues. |
|
|
|
* Warn programmers about pretend_object_file() that allows the code |
|
to tentatively use in-core objects. |
|
|
|
* The way "git pack-objects" reuses objects stored in existing pack |
|
to generate its result has been improved. |
|
|
|
* The transport protocol version 2 becomes the default one. |
|
|
|
* Traditionally, we avoided threaded grep while searching in objects |
|
(as opposed to files in the working tree) as accesses to the object |
|
layer is not thread-safe. This limitation is getting lifted. |
|
|
|
* "git rebase -i" (and friends) used to unnecessarily check out the |
|
tip of the branch to be rebased, which has been corrected. |
|
|
|
* A low-level API function get_oid(), that accepts various ways to |
|
name an object, used to issue end-user facing error messages |
|
without l10n, which has been updated to be translatable. |
|
|
|
* Unneeded connectivity check is now disabled in a partial clone when |
|
fetching into it. |
|
|
|
* Some rough edges in the sparse-checkout feature, especially around |
|
the cone mode, have been cleaned up. |
|
|
|
* The diff-* plumbing family of subcommands now pay attention to the |
|
diff.wsErrorHighlight configuration, which has been ignored before; |
|
this allows "git add -p" to also show the whitespace problems to |
|
the end user. |
|
|
|
* Some codepaths were given a repository instance as a parameter to |
|
work in the repository, but passed the_repository instance to its |
|
callees, which has been cleaned up (somewhat). |
|
|
|
|
|
Fixes since v2.25 |
|
----------------- |
|
|
|
* "git commit" gives output similar to "git status" when there is |
|
nothing to commit, but without honoring the advise.statusHints |
|
configuration variable, which has been corrected. |
|
(merge 5c4f55f1f6 hw/commit-advise-while-rejecting later to maint). |
|
|
|
* has_object_file() said "no" given an object registered to the |
|
system via pretend_object_file(), making it inconsistent with |
|
read_object_file(), causing lazy fetch to attempt fetching an |
|
empty tree from promisor remotes. |
|
(merge 9c8a294a1a jt/sha1-file-remove-oi-skip-cached later to maint). |
|
|
|
* Complete an update to tutorial that encourages "git switch" over |
|
"git checkout" that was done only half-way. |
|
(merge 1a7e454dd6 hw/tutorial-favor-switch-over-checkout later to maint). |
|
|
|
* C pedantry ;-) fix. |
|
(merge 63ab08fb99 bc/run-command-nullness-after-free-fix later to maint). |
|
|
|
* The code that tries to skip over the entries for the paths in a |
|
single directory using the cache-tree was not careful enough |
|
against corrupt index file. |
|
(merge 573117dfa5 es/unpack-trees-oob-fix later to maint). |
|
|
|
* Reduce unnecessary round-trip when running "ls-remote" over the |
|
stateless RPC mechanism. |
|
(merge 4d8cab95cc jk/no-flush-upon-disconnecting-slrpc-transport later to maint). |
|
|
|
* "git restore --staged" did not correctly update the cache-tree |
|
structure, resulting in bogus trees to be written afterwards, which |
|
has been corrected. |
|
(merge e701bab3e9 nd/switch-and-restore later to maint). |
|
|
|
* The code recently added to move to the entry beyond the ones in the |
|
same directory in the index in the sparse-cone mode did not count |
|
the number of entries to skip over incorrectly, which has been |
|
corrected. |
|
(merge 7210ca4ee5 ds/sparse-cone later to maint). |
|
|
|
* Rendering by "git log --graph" of ancestry lines leading to a merge |
|
commit were made suboptimal to waste vertical space a bit with a |
|
recent update, which has been corrected. |
|
(merge c958d3bd0a ds/graph-horizontal-edges later to maint). |
|
|
|
* Work around test breakages caused by custom regex engine used in |
|
libasan, when address sanitizer is used with more recent versions |
|
of gcc and clang. |
|
(merge f65d07fffa jk/asan-build-fix later to maint). |
|
|
|
* 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. |
|
(merge b40a50264a ds/refmap-doc later to maint). |
|
|
|
* "git checkout X" did not correctly fail when X is not a local |
|
branch but could name more than one remote-tracking branches |
|
(i.e. to be dwimmed as the starting point to create a corresponding |
|
local branch), which has been corrected. |
|
(merge fa74180d08 am/checkout-file-and-ref-ref-ambiguity later to maint). |
|
|
|
* Corner case bugs in "git clean" that stems from a (necessarily for |
|
performance reasons) awkward calling convention in the directory |
|
enumeration API has been corrected. |
|
(merge 0cbb60574e en/fill-directory-fixes-more later to maint). |
|
|
|
* A fetch that is told to recursively fetch updates in submodules |
|
inevitably produces reams of output, and it becomes hard to spot |
|
error messages. The command has been taught to enumerate |
|
submodules that had errors at the end of the operation. |
|
(merge 0222540827 es/fetch-show-failed-submodules-atend later to maint). |
|
|
|
* 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. |
|
(merge b54128bb0b jt/t5616-robustify later to maint). |
|
|
|
* 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 |
|
the "submodule.recurse" variable is set, it did. Now these |
|
settings are ignored in the "--no-index" mode. |
|
(merge c56c48dd07 pb/do-not-recurse-grep-no-index later to maint). |
|
|
|
* Technical details of the bundle format has been documented. |
|
(merge 7378ec90e1 ms/doc-bundle-format later to maint). |
|
|
|
* Unhelpful warning messages during documentation build have been squelched. |
|
(merge 30183894ea js/ci-squelch-doc-warning later to maint). |
|
|
|
* "git rebase -i" identifies existing commits in its todo file with |
|
their abbreviated object name, which could become ambigous 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. |
|
(merge 5a5445d878 ag/edit-todo-drop-check later to maint). |
|
|
|
* The way "git submodule status" reports an initialized but not yet |
|
populated submodule has not been reimplemented correctly when a |
|
part of the "git submodule" command was rewritten in C, which has |
|
been corrected. |
|
(merge f38c92452d pk/status-of-uncloned-submodule later to maint). |
|
|
|
* 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). |
|
|
|
* Other code cleanup, docfix, build fix, etc. |
|
(merge 26f924d50e en/simplify-check-updates-in-unpack-trees later to maint). |
|
(merge 065027ee1a en/string-list-can-be-custom-sorted 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 e4837b4406 jk/test-fixes later to maint). |
|
(merge a4ffbbbb99 rt/submodule-i18n later to maint). |
|
(merge 856249c62a bc/actualmente later to maint). |
|
(merge c513a958b6 ss/t6025-modernize later to maint). |
|
(merge 69e104d70e bc/author-committer-doc later to maint). |
|
(merge 7a2dc95cbc bc/misconception-doc later to maint). |
|
(merge b441717256 dl/test-must-fail-fixes later to maint). |
|
(merge d031049da3 mt/sparse-checkout-doc-update later to maint). |
|
(merge 145136a95a jc/skip-prefix later to maint). |
|
(merge eb31044ff7 jb/multi-pack-index-docfix later to maint). |
|
(merge 04e5b3f0b4 km/submodule-doc-use-sm-path later to maint). |
|
(merge e469afe158 ma/filter-branch-doc-caret later to maint). |
|
(merge 395518cf7a jb/parse-options-message-fix later to maint). |
|
(merge 303b3c1c46 es/submodule-fetch-message-fix later to maint). |
|
(merge 9299f84921 ma/diff-doc-clarify-regexp-example later to maint). |
|
(merge 2b0f19fa7a js/convert-typofix later to maint). |
|
(merge 5290d45134 jk/alloc-cleanups later to maint).
|
|
|