summaryrefslogtreecommitdiff
path: root/Documentation/RelNotes/2.26.0.txt
blob: ae66cce68276628c00c76a6e6f4c0115015e9414 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
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.


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.


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).

 * 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).