@@ -61,7 +61,6 @@ UI, Workflows & Features
61
61
62
62
* The SubmittingPatches document has been converted to produce an
63
63
HTML version via AsciiDoc/Asciidoctor.
64
- (merge 049e64aa50 bc/submitting-patches-in-asciidoc later to maint).
65
64
66
65
* We learned to talk to watchman to speed up "git status" and other
67
66
operations that need to see which paths have been modified.
@@ -90,6 +89,13 @@ UI, Workflows & Features
90
89
pattern" (aka "diff.*.xfuncname") to include a comment block, if
91
90
exists, that immediately precedes it.
92
91
92
+ * "git config --expiry-date gc.reflogexpire" can read "2.weeks" from
93
+ the configuration and report it as a timestamp, just like "--int"
94
+ would read "1k" and report 1024, to help consumption by scripts.
95
+
96
+ * The shell completion (in contrib/) learned that "git pull" can take
97
+ the "--autostash" option.
98
+
93
99
94
100
Performance, Internal Implementation, Development Support etc.
95
101
@@ -130,6 +136,13 @@ Performance, Internal Implementation, Development Support etc.
130
136
* Drop (perhaps overly cautious) sanity check before using the index
131
137
read from the filesystem at runtime.
132
138
139
+ * The build procedure has been taught to avoid some unnecessary
140
+ instability in the build products.
141
+
142
+ * A new mechanism to upgrade the wire protocol in place is proposed
143
+ and demonstrated that it works with the older versions of Git
144
+ without harming them.
145
+
133
146
Also contains various documentation updates and code clean-ups.
134
147
135
148
@@ -206,7 +219,6 @@ Fixes since v2.15
206
219
* Recent update to the refs infrastructure implementation started
207
220
rewriting packed-refs file more often than before; this has been
208
221
optimized again for most trivial cases.
209
- (merge 7c6bd25c7d mh/avoid-rewriting-packed-refs later to maint).
210
222
211
223
* Some error messages did not quote filenames shown in it, which have
212
224
been fixed.
@@ -226,52 +238,72 @@ Fixes since v2.15
226
238
227
239
* Clarify and enhance documentation for "merge-base --fork-point", as
228
240
it was clear what it computed but not why/what for.
229
- (merge 6d1700b8af jc/merge-base-fork-point-doc later to maint).
230
241
231
242
* A few scripts (both in production and tests) incorrectly redirected
232
243
their error output. These have been corrected.
233
- (merge eadf1c8f45 tz/redirect-fix later to maint).
234
244
235
245
* "git notes" sent its error message to its standard output stream,
236
246
which was corrected.
237
- (merge 89b9e31dd5 tz/notes-error-to-stderr later to maint).
238
247
239
248
* The three-way merge performed by "git cherry-pick" was confused
240
249
when a new submodule was added in the meantime, which has been
241
250
fixed (or "papered over").
242
- (merge c641ca6707 sb/test-cherry-pick-submodule-getting-in-a-way later to maint).
243
251
244
252
* The sequencer machinery (used by "git cherry-pick A..B", and "git
245
253
rebase -i", among other things) would have lost a commit if stopped
246
254
due to an unlockable index file, which has been fixed.
247
- (merge bd58886775 pw/sequencer-recover-from-unlockable-index later to maint).
248
255
249
256
* "git apply --inaccurate-eof" when used with "--ignore-space-change"
250
257
triggered an internal sanity check, which has been fixed.
251
- (merge 4855de1233 rs/apply-inaccurate-eof-with-incomplete-line later to maint).
252
258
253
259
* Command line completion (in contrib/) has been taught about the
254
260
"--copy" option of "git branch".
255
- (merge 41ca0f773e tz/complete-branch-copy later to maint).
256
261
257
262
* When "git rebase" prepared an mailbox of changes and fed it to "git
258
263
am" to replay them, it was confused when a stray "From " happened
259
264
to be in the log message of one of the replayed changes. This has
260
265
been corrected.
261
- (merge ae3b2b04bb ew/rebase-mboxrd later to maint).
262
266
263
267
* There was a recent semantic mismerge in the codepath to write out a
264
268
section of a configuration section, which has been corrected.
265
269
266
270
* Mentions of "git-rebase" and "git-am" (dashed form) still remained
267
271
in end-user visible strings emitted by the "git rebase" command;
268
272
they have been corrected.
269
- (merge 82cb775c06 ks/rebase-no-git-foo later to maint).
270
273
271
274
* Contrary to the documentation, "git pull -4/-6 other-args" did not
272
275
ask the underlying "git fetch" to go over IPv4/IPv6, which has been
273
276
corrected.
274
- (merge ffb4568afe sw/pull-ipv46-passthru later to maint).
277
+
278
+ * "git checkout --recursive" may overwrite and rewind the history of
279
+ the branch that happens to be checked out in submodule
280
+ repositories, which might not be desirable. Detach the HEAD but
281
+ still allow the recursive checkout to succeed in such a case.
282
+ (merge 57f22bf997 sb/submodule-recursive-checkout-detach-head later to maint).
283
+
284
+ * "git branch --set-upstream" has been deprecated and (sort of)
285
+ removed, as "--set-upstream-to" is the preferred one these days.
286
+ The documentation still had "--set-upstream" listed on its
287
+ synopsys section, which has been corrected.
288
+ (merge a060f3d3d8 tz/branch-doc-remove-set-upstream later to maint).
289
+
290
+ * Internaly we use 0{40} as a placeholder object name to signal the
291
+ codepath that there is no such object (e.g. the fast-forward check
292
+ while "git fetch" stores a new remote-tracking ref says "we know
293
+ there is no 'old' thing pointed at by the ref, as we are creating
294
+ it anew" by passing 0{40} for the 'old' side), and expect that a
295
+ codepath to locate an in-core object to return NULL as a sign that
296
+ the object does not exist. A look-up for an object that does not
297
+ exist however is quite costly with a repository with large number
298
+ of packfiles. This access pattern has been optimized.
299
+ (merge 87b5e236a1 jk/fewer-pack-rescan later to maint).
300
+
301
+ * In addition to "git stash -m message", the command learned to
302
+ accept "git stash -mmessage" form.
303
+ (merge 5675473fcb ph/stash-save-m-option-fix later to maint).
275
304
276
305
* Other minor doc, test and build updates and code cleanups.
277
- (merge c5e3bc6ec4 sd/branch-copy later to maint).
306
+ (merge 1a1fc2d5b5 rd/man-prune-progress later to maint).
307
+ (merge 0ba014035a rd/man-reflog-add-n later to maint).
308
+ (merge e54b63359f rd/doc-notes-prune-fix later to maint).
309
+ (merge ff4c9b413a sp/doc-info-attributes later to maint).
0 commit comments