@@ -90,6 +90,29 @@ UI, Workflows & Features
90
90
91
91
* Documentation for "git ls-files" did not refer to core.quotePath.
92
92
93
+ * The experimental "split index" feature has gained a few
94
+ configuration variables to make it easier to use.
95
+
96
+ * From a working tree of a repository, a new option of "rev-parse"
97
+ lets you ask if the repository is used as a submodule of another
98
+ project, and where the root level of the working tree of that
99
+ project (i.e. your superproject) is.
100
+
101
+ * The pathspec mechanism learned to further limit the paths that
102
+ match the pattern to those that have specified attributes attached
103
+ via the gitattributes mechanism.
104
+
105
+ * Our source code has used the SHA1_HEADER cpp macro after "#include"
106
+ in the C code to switch among the SHA-1 implementations. Instead,
107
+ list the exact header file names and switch among implementations
108
+ using "#ifdef BLK_SHA1/#include "block-sha1/sha1.h"/.../#endif";
109
+ this helps some IDE tools.
110
+
111
+ * The start-up sequence of "git" needs to figure out some configured
112
+ settings before it finds and set itself up in the location of the
113
+ repository and was quite messy due to its "chicken-and-egg" nature.
114
+ The code has been restructured.
115
+
93
116
94
117
Performance, Internal Implementation, Development Support etc.
95
118
@@ -134,11 +157,9 @@ Performance, Internal Implementation, Development Support etc.
134
157
against a server that does not authenticate without a username
135
158
(i.e. not using Kerberos etc., which makes http.emptyAuth
136
159
pointless).
137
- (merge 40a18fc77c jk/http-auth later to maint).
138
160
139
161
* Windows port wants to use OpenSSL's implementation of SHA-1
140
162
routines, so let them.
141
- (merge 2cfc70f0de jh/mingw-openssl-sha1 later to maint).
142
163
143
164
* The t/perf performance test suite was not prepared to test not so
144
165
old versions of Git, but now it covers versions of Git that are not
@@ -147,13 +168,24 @@ Performance, Internal Implementation, Development Support etc.
147
168
148
169
* Add 32-bit Linux variant to the set of platforms to be tested with
149
170
Travis CI.
150
- (merge 88dedd5e72 js/travis-32bit-linux later to maint).
151
171
152
172
* "git branch --list" takes the "--abbrev" and "--no-abbrev" options
153
173
to control the output of the object name in its "-v"(erbose)
154
174
output, but a recent update started ignoring them; fix it before
155
175
the breakage reaches to any released version.
156
176
177
+ * Picking two versions of Git and running tests to make sure the
178
+ older one and the newer one interoperate happily has now become
179
+ possible.
180
+ (merge bd4d9d993c jk/interop-test later to maint).
181
+
182
+ * "uchar [40]" to "struct object_id" conversion continues.
183
+
184
+ * "git tag --contains" used to (ab)use the object bits to keep track
185
+ of the state of object reachability without clearing them after
186
+ use; this has been cleaned up and made to use the newer commit-slab
187
+ facility.
188
+
157
189
158
190
Also contains various documentation updates and code clean-ups.
159
191
@@ -227,19 +259,16 @@ notes for details).
227
259
* When a redirected http transport gets an error during the
228
260
redirected request, we ignored the error we got from the server,
229
261
and ended up giving a not-so-useful error message.
230
- (merge 8e27391a5f jt/http-base-url-update-upon-redirect later to maint).
231
262
232
263
* The patch subcommand of "git add -i" was meant to have paths
233
264
selection prompt just like other subcommand, unlike "git add -p"
234
265
directly jumps to hunk selection. Recently, this was broken and
235
266
"add -i" lost the paths selection dialog, but it now has been
236
267
fixed.
237
- (merge c852bd54bd jk/add-i-patch-do-prompt later to maint).
238
268
239
269
* Git v2.12 was shipped with an embarrassing breakage where various
240
270
operations that verify paths given from the user stopped dying when
241
271
seeing an issue, and instead later triggering segfault.
242
- (merge ce83eadd9a js/realpath-pathdup-fix later to maint).
243
272
244
273
* There is no need for Python only to give a few messages to the
245
274
standard error stream, but we somehow did.
@@ -248,11 +277,9 @@ notes for details).
248
277
* The code to parse "git log -L..." command line was buggy when there
249
278
are many ranges specified with -L; overrun of the allocated buffer
250
279
has been fixed.
251
- (merge aaae0bf787 ax/line-log-range-merge-fix later to maint).
252
280
253
281
* The command-line parsing of "git log -L" copied internal data
254
282
structures using incorrect size on ILP32 systems.
255
- (merge 07f546cda5 vn/line-log-memcpy-size-fix later to maint).
256
283
257
284
* "git diff --quiet" relies on the size field in diff_filespec to be
258
285
correctly populated, but diff_populate_filespec() helper function
@@ -289,9 +316,27 @@ notes for details).
289
316
when unexpected error happened, which has been fixed.
290
317
(merge d1a13d3fcb jk/push-deadlock-regression-fix later to maint).
291
318
319
+ * "Dumb http" transport used to misparse a nonsense http-alternates
320
+ response, which has been fixed.
321
+ (merge d61434ae81 jk/http-walker-buffer-underflow-fix later to maint).
322
+
323
+ * "git add -p <pathspec>" unnecessarily expanded the pathspec to a
324
+ list of individual files that matches the pathspec by running "git
325
+ ls-files <pathspec>", before feeding it to "git diff-index" to see
326
+ which paths have changes, because historically the pathspec
327
+ language supported by "diff-index" was weaker. These days they are
328
+ equivalent and there is no reason to internally expand it. This
329
+ helps both performance and avoids command line argument limit on
330
+ some platforms.
331
+ (merge 7288e12cce jk/add-i-use-pathspecs later to maint).
332
+
333
+ * "git status --porcelain" is supposed to give a stable output, but a
334
+ few strings were left as translatable by mistake.
335
+ (merge b9e2bc560a mg/status-porcelain-no-i18n later to maint).
336
+
292
337
* Other minor doc, test and build updates and code cleanups.
293
- (merge 2cfa83574c mm/two-more-xstrfmt later to maint).
294
338
(merge b803ae4427 ps/docs-diffcore later to maint).
295
339
(merge bcd886d897 ew/markdown-url-in-readme later to maint).
296
340
(merge b2d593a779 rj/remove-unused-mktemp later to maint).
297
341
(merge 3255e512a8 jk/ewah-use-right-type-in-sizeof later to maint).
342
+ (merge dfa3ad3238 rs/blame-code-cleanup later to maint).
0 commit comments