What's cooking (2021/02 #04)
Junio C Hamano committed
Feb 18, 2021 at 15:52 UTC
cb73b523d475935d3365248693ea11559d079d03
1 file changed
+407
-573
whats-cooking.txt
+407
-573
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
Bcc: lwn@lwn.net
3
-Subject: What's cooking in git.git (Feb 2021, #03; Wed, 17)
4
-X-master-at: 328c10930387d301560f7cbcd3351cc485a13381
5
-X-next-at: 45526154a57d15947cad7262230d0b935cedb9d3
3
+Subject: What's cooking in git.git (Feb 2021, #04; Thu, 18)
4
+X-master-at: 2283e0e9af55689215afa39c03beb2315ce18e83
5
+X-next-at: b4fecdf3b781fae907790b59fd149f0dae8f8df6
6
7
-What's cooking in git.git (Feb 2021, #03; Wed, 17)
7
+What's cooking in git.git (Feb 2021, #04; Thu, 18)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking. Commits prefixed with '-' are
@@ -12,7 +12,7 @@ only in 'seen' (formerly 'pu'---proposed updates) while commits prefixed
12
with '+' are in 'next'. The ones marked with '.' do not appear in any of
13
the integration branches, but I am still holding onto them.
14
15
-The eighth batch of topics are in 'master'.
15
+The ninth batch of topics are in 'master'.
16
17
Copies of the source code to Git live in many repositories, and the
18
following is a list of the ones I push into or their mirrors. Some
@@ -45,124 +45,293 @@ Release tarballs are available at:
45
--------------------------------------------------
46
[Graduated to 'master']
47
48
-* ab/tests-various-fixup (2021-01-23) 10 commits
49
- (merged to 'next' on 2021-02-01 at a604a6e217)
50
- + rm tests: actually test for SIGPIPE in SIGPIPE test
51
- + archive tests: use a cheaper "zipinfo -h" invocation to get header
52
- + upload-pack tests: avoid a non-zero "grep" exit status
53
- + git-svn tests: rewrite brittle tests to use "--[no-]merges".
54
- + git svn mergeinfo tests: refactor "test -z" to use test_must_be_empty
55
- + git svn mergeinfo tests: modernize redirection & quoting style
56
- + cache-tree tests: explicitly test HEAD and index differences
57
- + cache-tree tests: use a sub-shell with less indirection
58
- + cache-tree tests: remove unused $2 parameter
59
- + cache-tree tests: refactor for modern test style
60
-
61
- Various test updates.
62
-
63
-
64
-* en/merge-ort-perf (2021-01-23) 6 commits
65
- (merged to 'next' on 2021-02-01 at ca3c07579b)
66
- + merge-ort: begin performance work; instrument with trace2_region_* calls
67
- + merge-ort: ignore the directory rename split conflict for now
68
- + merge-ort: fix massive leak
69
- + Merge branch 'en/ort-directory-rename' into en/merge-ort-perf
70
- + Merge branch 'en/ort-conflict-handling' into en/merge-ort-perf
71
- + Merge branch 'en/diffcore-rename' into en/merge-ort-perf
72
- (this branch uses en/ort-directory-rename.)
73
-
74
- The "ort" merge strategy.
75
-
76
-
77
-* en/ort-directory-rename (2021-01-20) 18 commits
78
- (merged to 'next' on 2021-02-01 at 5c1cdd13a1)
79
- + merge-ort: fix a directory rename detection bug
80
- + merge-ort: process_renames() now needs more defensiveness
81
- + merge-ort: implement apply_directory_rename_modifications()
82
- + merge-ort: add a new toplevel_dir field
83
- + merge-ort: implement handle_path_level_conflicts()
84
- + merge-ort: implement check_for_directory_rename()
85
- + merge-ort: implement apply_dir_rename() and check_dir_renamed()
86
- + merge-ort: implement compute_collisions()
87
- + merge-ort: modify collect_renames() for directory rename handling
88
- + merge-ort: implement handle_directory_level_conflicts()
89
- + merge-ort: implement compute_rename_counts()
90
- + merge-ort: copy get_renamed_dir_portion() from merge-recursive.c
91
- + merge-ort: add outline of get_provisional_directory_renames()
92
- + merge-ort: add outline for computing directory renames
93
- + merge-ort: collect which directories are removed in dirs_removed
94
- + merge-ort: initialize and free new directory rename data structures
95
- + merge-ort: add new data structures for directory rename detection
96
- + Merge branch 'en/merge-ort-3' into en/ort-directory-rename
97
- (this branch is used by en/merge-ort-perf.)
98
-
99
- ORT merge strategy learns to infer "renamed directory" while
100
- merging.
101
-
102
-
103
-* jk/complete-branch-force-delete (2021-02-03) 3 commits
104
- (merged to 'next' on 2021-02-03 at 6454bb89b5)
105
- + doc/git-branch: fix awkward wording for "-c"
106
- + completion: handle other variants of "branch -m"
107
- + completion: treat "branch -D" the same way as "branch -d"
108
-
109
- The command line completion (in contrib/) completed "git branch -d"
110
- with branch names, but "git branch -D" offered tagnames in addition,
111
- which has been corrected. "git branch -M" had the same problem.
112
-
113
-
114
-* jv/upload-pack-filter-spec-quotefix (2021-02-02) 2 commits
115
- (merged to 'next' on 2021-02-03 at 2e34f74e3a)
116
- + t5544: clarify 'hook works with partial clone' test
117
- (merged to 'next' on 2021-01-31 at 789bf4154e)
118
- + upload-pack.c: fix filter spec quoting bug
119
-
120
- Fix in passing custom args from "git clone" to "upload-pack" on the
121
- other side.
122
-
123
-
124
-* tb/ci-run-cocci-with-18.04 (2021-02-08) 1 commit
125
- (merged to 'next' on 2021-02-09 at c50bc53527)
126
- + .github/workflows/main.yml: run static-analysis on bionic
127
-
128
- The version of Ubuntu Linux used by default at GitHub Actions CI
129
- has been updated to one that lack coccinelle; until it gets fixed,
130
- work it around by sticking to the previous release (18.04).
131
-
132
-
133
-* tb/pack-revindex-on-disk (2021-01-28) 10 commits
134
- (merged to 'next' on 2021-02-01 at bd6a780213)
135
- + t5325: check both on-disk and in-memory reverse index
136
- + pack-revindex: ensure that on-disk reverse indexes are given precedence
137
- + t: support GIT_TEST_WRITE_REV_INDEX
138
- + t: prepare for GIT_TEST_WRITE_REV_INDEX
139
- + Documentation/config/pack.txt: advertise 'pack.writeReverseIndex'
140
- + builtin/pack-objects.c: respect 'pack.writeReverseIndex'
141
- + builtin/index-pack.c: write reverse indexes
142
- + builtin/index-pack.c: allow stripping arbitrary extensions
143
- + pack-write.c: prepare to write 'pack-*.rev' files
144
- + packfile: prepare for the existence of '*.rev' files
145
- (this branch is used by tb/reverse-midx.)
146
-
147
- Introduce an on-disk file to record revindex for packdata, which
148
- traditionally was always created on the fly and only in-core.
149
-
150
-
151
-* tb/precompose-prefix-too (2021-02-03) 1 commit
152
- (merged to 'next' on 2021-02-05 at 1dd43136b1)
153
- + MacOS: precompose_argv_prefix()
154
-
155
- When commands are started from a subdirectory, they may have to
156
- compare the path to the subdirectory (called prefix and found out
157
- from $(pwd)) with the tracked paths. On macOS, $(pwd) and
158
- readdir() yield decomposed path, while the tracked paths are
159
- usually normalized to the precomposed form, causing mismatch. This
160
- has been fixed by taking the same approach used to normalize the
161
- command line arguments.
48
+* ak/config-bad-bool-error (2021-02-11) 1 commit
49
+ (merged to 'next' on 2021-02-12 at 76784be663)
50
+ + config: improve error message for boolean config
51
+
52
+ The error message given when a configuration variable that is
53
+ expected to have a boolean value has been improved.
54
+
55
+
56
+* ak/corrected-commit-date (2021-01-18) 11 commits
57
+ (merged to 'next' on 2021-01-26 at deae33ec7d)
58
+ + doc: add corrected commit date info
59
+ + commit-reach: use corrected commit dates in paint_down_to_common()
60
+ + commit-graph: use generation v2 only if entire chain does
61
+ + commit-graph: implement generation data chunk
62
+ + commit-graph: implement corrected commit date
63
+ + commit-graph: return 64-bit generation number
64
+ + commit-graph: add a slab to store topological levels
65
+ + t6600-test-reach: generalize *_three_modes
66
+ + commit-graph: consolidate fill_commit_graph_info
67
+ + revision: parse parent in indegree_walk_step()
68
+ + commit-graph: fix regression when computing Bloom filters
69
+ (this branch is used by ds/chunked-file-api, ds/commit-graph-genno-fix and ds/merge-base-independent.)
70
+
71
+ The commit-graph learned to use corrected commit dates instead of
72
+ the generation number to help topological revision traversal.
73
+
74
+ Will merge to 'master', together with "ds/commit-graph-genno-fix".
75
+
76
+
77
+* ds/commit-graph-genno-fix (2021-02-01) 6 commits
78
+ (merged to 'next' on 2021-02-03 at b3a9e11efb)
79
+ + commit-graph: prepare commit graph
80
+ + commit-graph: be extra careful about mixed generations
81
+ + commit-graph: compute generations separately
82
+ + commit-graph: validate layers for generation data
83
+ + commit-graph: always parse before commit_graph_data_at()
84
+ + commit-graph: use repo_parse_commit
85
+ (this branch uses ak/corrected-commit-date; is tangled with ds/chunked-file-api and ds/merge-base-independent.)
86
+
87
+ Fix incremental update of commit-graph file around corrected commit
88
+ date data.
89
+
90
+ Will merge to 'master', together with "ak/corrected-commit-date".
91
+
92
+
93
+* ds/maintenance-pack-refs (2021-02-09) 2 commits
94
+ (merged to 'next' on 2021-02-11 at 36f56bc9ec)
95
+ + maintenance: incremental strategy runs pack-refs weekly
96
+ + maintenance: add pack-refs task
97
+
98
+ "git maintenance" tool learned a new "pack-refs" maintenance task.
99
+
100
+
101
+* ew/rev-parse-since-test (2021-02-10) 1 commit
102
+ (merged to 'next' on 2021-02-11 at 2490918be8)
103
+ + t1500: ensure current --since= behavior remains
104
+
105
+ Test to make sure "git rev-parse one-thing one-thing" gives
106
+ the same thing twice (when one-thing is --since=X).
107
+
108
+
109
+* jk/mailmap-only-at-root (2021-02-10) 1 commit
110
+ (merged to 'next' on 2021-02-10 at fbd122fd6c)
111
+ + mailmap: only look for .mailmap in work tree
112
+
113
+ The .mailmap is documented to be read only from the root level of a
114
+ working tree, but a stray file in a bare repository also was read
115
+ by accident, which has been corrected.
116
+
117
+
118
+* js/commit-graph-warning (2021-02-11) 1 commit
119
+ (merged to 'next' on 2021-02-12 at e9faad550a)
120
+ + commit-graph: when incompatible with graphs, indicate why
121
+
122
+ When certain features (e.g. grafts) used in the repository are
123
+ incompatible with the use of the commit-graph, we used to silently
124
+ turned commit-graph off; we now tell the user what we are doing.
125
+
126
+
127
+* js/fsck-name-objects-fix (2021-02-10) 2 commits
128
+ (merged to 'next' on 2021-02-10 at 79afd7ebdc)
129
+ + fsck --name-objects: be more careful parsing generation numbers
130
+ + t1450: robustify `remove_object()`
131
+
132
+ Fix "git fsck --name-objects" which apparently has not been used by
133
+ anybody who is motivated enough to report breakage.
134
+
135
+
136
+* js/range-diff-one-side-only (2021-02-06) 6 commits
137
+ (merged to 'next' on 2021-02-08 at 8c35ed8523)
138
+ + range-diff: offer --left-only/--right-only options
139
+ + range-diff: move the diffopt initialization down one layer
140
+ + range-diff: combine all options in a single data structure
141
+ + range-diff: simplify code spawning `git log`
142
+ + range-diff: libify the read_patches() function again
143
+ + range-diff: avoid leaking memory in two error code paths
144
+
145
+ The "git range-diff" command learned "--(left|right)-only" option
146
+ to show only one side of the compared range.
147
+
148
+
149
+* js/range-diff-wo-dotdot (2021-02-06) 3 commits
150
+ (merged to 'next' on 2021-02-08 at 9ae8b46d99)
151
+ + range-diff(docs): explain how to specify commit ranges
152
+ + range-diff/format-patch: handle commit ranges other than A..B
153
+ + range-diff/format-patch: refactor check for commit range
154
+
155
+ There are other ways than ".." for a single token to denote a
156
+ "commit range", namely "<rev>^!" and "<rev>^-<n>", but "git
157
+ range-diff" did not understand them.
158
+
159
+
160
+* js/reflog-expire-stale-fix (2021-02-11) 1 commit
161
+ (merged to 'next' on 2021-02-12 at 899034efca)
162
+ + reflog expire --stale-fix: be generous about missing objects
163
+
164
+ "git reflog expire --stale-fix" can be used to repair the reflog by
165
+ removing entries that refer to objects that have been pruned away,
166
+ but was not careful to tolerate missing objects.
167
+
168
+
169
+* jt/clone-unborn-head (2021-02-05) 3 commits
170
+ (merged to 'next' on 2021-02-08 at 3ba9f80e7f)
171
+ + clone: respect remote unborn HEAD
172
+ + connect, transport: encapsulate arg in struct
173
+ + ls-refs: report unborn targets of symrefs
174
+
175
+ "git clone" tries to locally check out the branch pointed at by
176
+ HEAD of the remote repository after it is done, but the protocol
177
+ did not convey the information necessary to do so when copying an
178
+ empty repository. The protocol v2 learned how to do so.
179
+
180
+
181
+* jt/trace2-BUG (2021-02-09) 1 commit
182
+ (merged to 'next' on 2021-02-09 at 94911ad676)
183
+ + usage: trace2 BUG() invocations
184
+
185
+ Even though invocations of "die()" were logged to the trace2
186
+ system, "BUG()"s were not, which has been corrected.
187
+
188
+
189
+* jx/t5411-unique-filenames (2021-01-22) 2 commits
190
+ (merged to 'next' on 2021-02-11 at bc5c67f70f)
191
+ + t5411: refactor check of refs using test_cmp_refs
192
+ + t5411: use different out file to prevent overwriting
193
+
194
+ Avoid individual tests in t5411 from getting affected by each other
195
+ by forcing them to use separate output files during the test.
196
+
197
+
198
+* mr/bisect-in-c-4 (2021-02-03) 7 commits
199
+ (merged to 'next' on 2021-02-05 at ea18026619)
200
+ + bisect--helper: retire `--check-and-set-terms` subcommand
201
+ + bisect--helper: reimplement `bisect_skip` shell function in C
202
+ + bisect--helper: retire `--bisect-auto-next` subcommand
203
+ + bisect--helper: use `res` instead of return in BISECT_RESET case option
204
+ + bisect--helper: retire `--bisect-write` subcommand
205
+ + bisect--helper: reimplement `bisect_replay` shell function in C
206
+ + bisect--helper: reimplement `bisect_log` shell function in C
207
+
208
+ Piecemeal of rewrite of "git bisect" in C continues.
209
+
210
+
211
+* mt/grep-cached-untracked (2021-02-09) 1 commit
212
+ (merged to 'next' on 2021-02-10 at e1fca79104)
213
+ + grep: error out if --untracked is used with --cached
214
+
215
+ "git grep --untracked" is meant to be "let's ALSO find in these
216
+ files on the filesystem" when looking for matches in the working
217
+ tree files, and does not make any sense if the primary search is
218
+ done against the index, or the tree objects. The "--cached" and
219
+ "--untracked" options have been marked as mutually incompatible.
220
+
221
+
222
+* sh/mergetool-hideresolved (2021-02-09) 3 commits
223
+ (merged to 'next' on 2021-02-09 at c3ed19b2ec)
224
+ + mergetool: add per-tool support and overrides for the hideResolved flag
225
+ + mergetool: break setup_tool out into separate initialization function
226
+ + mergetool: add hideResolved configuration
227
+
228
+ "git mergetool" feeds three versions (base, local and remote) of
229
+ a conflicted path unmodified. The command learned to optionally
230
+ prepare these files with unconflicted parts already resolved.
231
232
--------------------------------------------------
233
[New Topics]
234
235
+* ab/fsck-api-cleanup (2021-02-18) 10 commits
236
+ - fsck.h: update FSCK_OPTIONS_* for object_name
237
+ - fsck.c: give "FOREACH_MSG_ID" a more specific name
238
+ - fsck.c: undefine temporary STR macro after use
239
+ - fsck.c: call parse_msg_type() early in fsck_set_msg_type()
240
+ - fsck.h: move FSCK_{FATAL,INFO,ERROR,WARN,IGNORE} into an enum
241
+ - fsck.c: rename remaining fsck_msg_id "id" to "msg_id"
242
+ - fsck.c: move definition of msg_id into append_msg_id()
243
+ - fsck.c: rename variables in fsck_set_msg_type() for less confusion
244
+ - fsck.h: use "enum object_type" instead of "int"
245
+ - fsck.h: indent arguments to of fsck_set_msg_type
246
+
247
+ Preliminary fsck API clean-up.
248
+
249
+ Expecting a reroll.
250
+ cf. <xmqqczwxc8bw.fsf@gitster.g>
251
+ Looking good.
252
+
253
+
254
+* ab/grep-pcre2-allocfix (2021-02-17) 10 commits
255
+ - grep/pcre2: move definitions of pcre2_{malloc,free}
256
+ - grep/pcre2: move back to thread-only PCREv2 structures
257
+ - grep/pcre2: actually make pcre2 use custom allocator
258
+ - grep/pcre2: use pcre2_maketables_free() function
259
+ - grep/pcre2: use compile-time PCREv2 version test
260
+ - grep/pcre2: add GREP_PCRE2_DEBUG_MALLOC debug mode
261
+ - grep/pcre2: prepare to add debugging to pcre2_malloc()
262
+ - grep/pcre2: correct reference to grep_init() in comment
263
+ - grep/pcre2: drop needless assignment to NULL
264
+ - grep/pcre2: drop needless assignment + assert() on opt->pcre2
265
+
266
+ Updates to memory allocation code around the use of pcre2 library.
267
+
268
+ Needs review.
269
+ cf. <20210218000728.13995-1-avarab@gmail.com>
270
+
271
+--------------------------------------------------
272
+[Stalled]
273
+
274
+* ab/make-cleanup (2021-02-01) 6 commits
275
+ - Makefile: add {program,xdiff,test,git}-objs & objects targets
276
+ - Makefile: split OBJECTS into OBJECTS and GIT_OBJS
277
+ - Makefile: sort OBJECTS assignment for subsequent change
278
+ - Makefile: split up long OBJECTS line
279
+ - Makefile: guard against TEST_OBJS in the environment
280
+ - Makefile: remove "all" on "$(FUZZ_OBJS)"
281
+
282
+ Reorganize Makefile to allow building git.o and other essential
283
+ objects without extra stuff needed only for testing.
284
+
285
+ Expecting a reroll (or retraction)
286
+ cf. <YBuZVfnc0ECuoKkK@coredump.intra.peff.net>
287
+ cf. <xmqq1rdzjuaa.fsf@gitster.c.googlers.com>
288
+
289
+
290
+* jk/symlinked-dotgitx-files (2020-10-23) 9 commits
291
+ - docs: document symlink restrictions for .git* files
292
+ - fsck: complain when .gitattributes or .gitignore is a symlink
293
+ - verify_path(): disallow symlinks in .gitattributes and .gitignore
294
+ - t0060: test obscured .gitattributes and .gitignore matching
295
+ - t7450: test .gitmodules symlink matching against obscured names
296
+ - t7450: test verify_path() handling of gitmodules
297
+ - t7415: rename to expand scope
298
+ - fsck_tree(): wrap some long lines
299
+ - fsck_tree(): fix shadowed variable
300
+
301
+ "git fsck" and the corresponding check done during the transport
302
+ learned to ensure that in-tree files like `.gitignore` and
303
+ `.gitattributes` are not symbolic links.
304
+
305
+ It seems that there are real projects with .gitignore recorded as
306
+ symlinks, which may need to loosen the fsck setting. Do we need to
307
+ introduce a class that is separate from symlinked .gitmodules that
308
+ has potential consequences that is more/less grave, so that these
309
+ projects can opt out of the new checks?
310
+
311
+
312
+* ag/merge-strategies-in-c (2020-11-24) 13 commits
313
+ - sequencer: use the "octopus" merge strategy without forking
314
+ - sequencer: use the "resolve" strategy without forking
315
+ - merge: use the "octopus" strategy without forking
316
+ - merge: use the "resolve" strategy without forking
317
+ - merge-octopus: rewrite in C
318
+ - merge-recursive: move better_branch_name() to merge.c
319
+ - merge-resolve: rewrite in C
320
+ - merge-index: don't fork if the requested program is `git-merge-one-file'
321
+ - merge-index: libify merge_one_path() and merge_all()
322
+ - merge-one-file: rewrite in C
323
+ - update-index: move add_cacheinfo() to read-cache.c
324
+ - t6060: modify multiple files to expose a possible issue with merge-index
325
+ - t6407: modernise tests
326
+
327
+ The resolve and octopus merge strategy backends have been rewritten
328
+ in C.
329
+
330
+ Got enough review comments to get updated.
331
+
332
+--------------------------------------------------
333
+[Cooking]
334
+
335
* tb/reverse-midx (2021-02-10) 9 commits
336
- pack-revindex: write multi-pack reverse indexes
337
- pack-write.c: extract 'write_rev_file_order'
@@ -179,14 +348,15 @@ Release tarballs are available at:
348
349
350
* ab/detox-gettext-tests (2021-02-10) 4 commits
182
- - tests: remove most uses of test_i18ncmp
183
- - tests: remove last uses of C_LOCALE_OUTPUT
184
- - tests: remove most uses of C_LOCALE_OUTPUT
185
- - tests: remove last uses of GIT_TEST_GETTEXT_POISON=false
351
+ (merged to 'next' on 2021-02-17 at bd3d771557)
352
+ + tests: remove most uses of test_i18ncmp
353
+ + tests: remove last uses of C_LOCALE_OUTPUT
354
+ + tests: remove most uses of C_LOCALE_OUTPUT
355
+ + tests: remove last uses of GIT_TEST_GETTEXT_POISON=false
356
357
Removal of GIT_TEST_GETTEXT_POISON continues.
358
189
- Will merge to 'next'.
359
+ Will merge to 'master'.
360
361
362
* ab/diff-deferred-free (2021-02-11) 2 commits
@@ -199,16 +369,6 @@ Release tarballs are available at:
369
Will merge to 'master'.
370
371
202
-* ak/config-bad-bool-error (2021-02-11) 1 commit
203
- (merged to 'next' on 2021-02-12 at 76784be663)
204
- + config: improve error message for boolean config
205
-
206
- The error message given when a configuration variable that is
207
- expected to have a boolean value has been improved.
208
-
209
- Will merge to 'master'.
210
-
211
-
372
* jc/diffcore-rotate (2021-02-16) 1 commit
373
- diff: --{rotate,skip}-to=<path>
374
@@ -219,37 +379,16 @@ Release tarballs are available at:
379
Will merge to 'next'.
380
381
222
-* js/commit-graph-warning (2021-02-11) 1 commit
223
- (merged to 'next' on 2021-02-12 at e9faad550a)
224
- + commit-graph: when incompatible with graphs, indicate why
225
-
226
- When certain features (e.g. grafts) used in the repository are
227
- incompatible with the use of the commit-graph, we used to silently
228
- turned commit-graph off; we now tell the user what we are doing.
229
-
230
- Will merge to 'master'.
231
-
232
-
233
-* js/reflog-expire-stale-fix (2021-02-11) 1 commit
234
- (merged to 'next' on 2021-02-12 at 899034efca)
235
- + reflog expire --stale-fix: be generous about missing objects
236
-
237
- "git reflog expire --stale-fix" can be used to repair the reflog by
238
- removing entries that refer to objects that have been pruned away,
239
- but was not careful to tolerate missing objects.
240
-
241
- Will merge to 'master'.
242
-
243
-
382
* mz/doc-notes-are-not-anchors (2021-02-10) 1 commit
245
- - docs: clarify that refs/notes/ do not keep the attached objects alive
383
+ (merged to 'next' on 2021-02-17 at 81f92a74b2)
384
+ + docs: clarify that refs/notes/ do not keep the attached objects alive
385
386
Objects that lost references can be pruned away, even when they
387
have notes attached to it (and these notes will become dangling,
388
which in turn can be pruned with "git notes prune"). This has been
389
clarified in the documentation.
390
252
- Will merge to 'next'.
391
+ Will merge to 'master'.
392
393
394
* en/diffcore-rename (2021-02-15) 8 commits
@@ -267,7 +406,7 @@ Release tarballs are available at:
406
Will merge to 'next'.
407
408
270
-* ab/pickaxe-pcre2 (2021-02-16) 24 commits
409
+* ab/pickaxe-pcre2 (2021-02-18) 24 commits
410
- pickaxe -G: don't special-case create/delete
411
- pickaxe -G: terminate early on matching lines
412
- xdiff-interface: support early exit in xdiff_outf()
@@ -294,6 +433,12 @@ Release tarballs are available at:
433
- Merge branch 'ab/test-lib' into ab/pickaxe-pcre2
434
(this branch uses ab/test-lib and jk/rev-list-disk-usage.)
435
436
+ Rewrite the backend for "diff -G/-S" to use pcre2 engine when
437
+ available.
438
+
439
+ Needs review.
440
+ cf. <20210216115801.4773-1-avarab@gmail.com>
441
+
442
443
* cm/rebase-i-fixup-amend-reword (2021-02-17) 6 commits
444
- doc/git-commit: add documentation for fixup[amend|reword] options
@@ -304,9 +449,14 @@ Release tarballs are available at:
449
- sequencer: export subject_length()
450
(this branch uses cm/rebase-i and cm/rebase-i-updates.)
451
307
- "git commit --fixup" learns to optionally create "amend!" and
308
- "reword!" commits, that use the log message in "fixup" commit
309
- as the message of the resulting commit.
452
+ "git commit --fixup=<commit>", which was to tweak the changes made
453
+ to the contents while keeping the original log message intact,
454
+ learned "--fixup=(amend|reword):<commit>", that can be used to
455
+ tweak both the message and the contents, and only the message,
456
+ respectively.
457
+
458
+ Expecting a reroll.
459
+ cf. <20210217072904.16257-1-charvi077@gmail.com>
460
461
462
* dl/stash-show-untracked (2021-02-16) 4 commits
@@ -319,6 +469,9 @@ Release tarballs are available at:
469
"git stash show" learned to optionally show untracked part of the
470
stash.
471
472
+ Expecting a reroll.
473
+ cf. <cover.1613459474.git.liu.denton@gmail.com>
474
+
475
476
* es/config-hooks-part-1 (2021-02-16) 17 commits
477
- hooks: allow callers to capture output
@@ -342,190 +495,78 @@ Release tarballs are available at:
495
496
A way to specify hooks in the configuration files is introduced.
497
345
- Will merge to 'next'.
498
+ Expecting another reroll??
499
+ cf. <YC7o2rUQOEdiMdqh@google.com>
500
501
502
* jh/fsmonitor-prework (2021-02-16) 11 commits
349
- - fsmonitor: refactor initialization of fsmonitor_last_update token
350
- - fsmonitor: allow all entries for a folder to be invalidated
351
- - fsmonitor: log FSMN token when reading and writing the index
352
- - fsmonitor: log invocation of FSMonitor hook to trace2
353
- - read-cache: log the number of scanned files to trace2
354
- - read-cache: log the number of lstat calls to trace2
355
- - preload-index: log the number of lstat calls to trace2
356
- - p7519: add trace logging during perf test
357
- - p7519: move watchman cleanup earlier in the test
358
- - p7519: fix watchman watch-list test on Windows
359
- - p7519: do not rely on "xargs -d" in test
503
+ (merged to 'next' on 2021-02-17 at 1943efb5ac)
504
+ + fsmonitor: refactor initialization of fsmonitor_last_update token
505
+ + fsmonitor: allow all entries for a folder to be invalidated
506
+ + fsmonitor: log FSMN token when reading and writing the index
507
+ + fsmonitor: log invocation of FSMonitor hook to trace2
508
+ + read-cache: log the number of scanned files to trace2
509
+ + read-cache: log the number of lstat calls to trace2
510
+ + preload-index: log the number of lstat calls to trace2
511
+ + p7519: add trace logging during perf test
512
+ + p7519: move watchman cleanup earlier in the test
513
+ + p7519: fix watchman watch-list test on Windows
514
+ + p7519: do not rely on "xargs -d" in test
515
516
Preliminary changes to fsmonitor integration.
517
363
- Will merge to 'next'.
364
-
365
-
366
-* jk/open-dotgitx-with-nofollow (2021-02-16) 6 commits
367
- - mailmap: do not respect symlinks for in-tree .mailmap
368
- - exclude: do not respect symlinks for in-tree .gitignore
369
- - attr: do not respect symlinks for in-tree .gitattributes
370
- - exclude: add flags parameter to add_patterns()
371
- - attr: convert "macro_ok" into a flags field
372
- - add open_nofollow() helper
373
-
374
- It does not make sense to make ".gitattributes", ".gitignore" and
375
- ".mailmap" symlinks, as they are supposed to be usable from the
376
- object store (think: bare repositories where HEAD:.mailmap etc. are
377
- used). When these files are symbolic links, we used to read the
378
- contents of the files pointed by them by mistake, which has been
379
- corrected.
380
-
381
-
382
-* js/doc-proto-v2-response-end (2021-02-17) 1 commit
383
- - doc: fix naming of response-end-pkt
384
-
385
- Docfix.
386
-
387
- Will merge to 'next'.
388
-
389
-
390
-* ma/doc-markup-fix (2021-02-17) 2 commits
391
- - gitmailmap.txt: fix rendering of e-mail addresses
392
- - rev-list-options.txt: fix rendering of bonus paragraph
393
-
394
- Docfix.
395
-
396
- Will merge to 'next'.
397
-
398
-
399
-* rs/blame-optim (2021-02-17) 1 commit
400
- - blame: remove unnecessary use of get_commit_info()
401
-
402
- Optimization in "git blame"
403
-
404
- Will merge to 'next'.
405
-
406
-
407
-* rs/pretty-describe (2021-02-17) 2 commits
408
- - pretty: add merge and exclude options to %(describe)
409
- - pretty: add %(describe)
410
-
411
- "git log --format='...'" learned "%(describe)" placeholder.
412
-
413
---------------------------------------------------
414
-[Stalled]
415
-
416
-* ab/make-cleanup (2021-02-01) 6 commits
417
- - Makefile: add {program,xdiff,test,git}-objs & objects targets
418
- - Makefile: split OBJECTS into OBJECTS and GIT_OBJS
419
- - Makefile: sort OBJECTS assignment for subsequent change
420
- - Makefile: split up long OBJECTS line
421
- - Makefile: guard against TEST_OBJS in the environment
422
- - Makefile: remove "all" on "$(FUZZ_OBJS)"
423
-
424
- Reorganize Makefile to allow building git.o and other essential
425
- objects without extra stuff needed only for testing.
426
-
427
- Expecting a reroll (or retraction)
428
- cf. <YBuZVfnc0ECuoKkK@coredump.intra.peff.net>
429
- cf. <xmqq1rdzjuaa.fsf@gitster.c.googlers.com>
430
-
431
-
432
-* jk/symlinked-dotgitx-files (2020-10-23) 9 commits
433
- - docs: document symlink restrictions for .git* files
434
- - fsck: complain when .gitattributes or .gitignore is a symlink
435
- - verify_path(): disallow symlinks in .gitattributes and .gitignore
436
- - t0060: test obscured .gitattributes and .gitignore matching
437
- - t7450: test .gitmodules symlink matching against obscured names
438
- - t7450: test verify_path() handling of gitmodules
439
- - t7415: rename to expand scope
440
- - fsck_tree(): wrap some long lines
441
- - fsck_tree(): fix shadowed variable
442
-
443
- "git fsck" and the corresponding check done during the transport
444
- learned to ensure that in-tree files like `.gitignore` and
445
- `.gitattributes` are not symbolic links.
446
-
447
- It seems that there are real projects with .gitignore recorded as
448
- symlinks, which may need to loosen the fsck setting. Do we need to
449
- introduce a class that is separate from symlinked .gitmodules that
450
- has potential consequences that is more/less grave, so that these
451
- projects can opt out of the new checks?
452
-
453
-
454
-* sm/curl-retry (2020-10-13) 3 commits
455
- - http: automatically retry some requests
456
- - replace CURLOPT_FILE With CURLOPT_WRITEDATA
457
- - remote-curl: add testing for intelligent retry for HTTP
458
-
459
- The http transport has been taught to retry a failed request that
460
- may reasonably be retried.
461
-
462
- Expecting a reroll.
463
- cf. <20201015000410.GB328643@google.com>
464
- cf. <CAM4o00eefXK2CJ_FxwwVPpBKL01JsJANf+SdjCtw_0NVV82L+Q@mail.gmail.com>
465
-
518
+ Will merge to 'master'.
519
467
-* ar/fetch-transfer-ipversion (2020-09-16) 1 commit
468
- - config: option transfer.ipversion to set transport protocol version for network fetches
520
470
- Adds transfer.ipversion configuration variable.
521
+* jk/open-dotgitx-with-nofollow (2021-02-16) 6 commits
522
+ - mailmap: do not respect symlinks for in-tree .mailmap
523
+ - exclude: do not respect symlinks for in-tree .gitignore
524
+ - attr: do not respect symlinks for in-tree .gitattributes
525
+ - exclude: add flags parameter to add_patterns()
526
+ - attr: convert "macro_ok" into a flags field
527
+ - add open_nofollow() helper
528
472
- Needs more work.
529
+ It does not make sense to make ".gitattributes", ".gitignore" and
530
+ ".mailmap" symlinks, as they are supposed to be usable from the
531
+ object store (think: bare repositories where HEAD:.mailmap etc. are
532
+ used). When these files are symbolic links, we used to read the
533
+ contents of the files pointed by them by mistake, which has been
534
+ corrected.
535
536
475
-* jc/war-on-dashed-git (2020-12-21) 2 commits
476
- - fixup??? git: catch an attempt to run "git-foo"
477
- - git: catch an attempt to run "git-foo"
537
+* js/doc-proto-v2-response-end (2021-02-17) 1 commit
538
+ (merged to 'next' on 2021-02-17 at 9d5d479469)
539
+ + doc: fix naming of response-end-pkt
540
479
- The first step to remove on-disk binaries for built-in subcommands
480
- by soliciting objections.
541
+ Docfix.
542
482
- On hold for now.
543
+ Will merge to 'master'.
544
545
485
-* mk/use-size-t-in-zlib (2018-10-15) 1 commit
486
- - zlib.c: use size_t for size
546
+* ma/doc-markup-fix (2021-02-18) 3 commits
547
+ - gitmailmap.txt: fix rendering of e-mail addresses
548
+ - git.txt: fix monospace rendering
549
+ - rev-list-options.txt: fix rendering of bonus paragraph
550
488
- The wrapper to call into zlib followed our long tradition to use
489
- "unsigned long" for sizes of regions in memory, which have been
490
- updated to use "size_t".
551
+ Docfix.
552
553
+ Will merge to 'next'.
554
493
-* ag/merge-strategies-in-c (2020-11-24) 13 commits
494
- - sequencer: use the "octopus" merge strategy without forking
495
- - sequencer: use the "resolve" strategy without forking
496
- - merge: use the "octopus" strategy without forking
497
- - merge: use the "resolve" strategy without forking
498
- - merge-octopus: rewrite in C
499
- - merge-recursive: move better_branch_name() to merge.c
500
- - merge-resolve: rewrite in C
501
- - merge-index: don't fork if the requested program is `git-merge-one-file'
502
- - merge-index: libify merge_one_path() and merge_all()
503
- - merge-one-file: rewrite in C
504
- - update-index: move add_cacheinfo() to read-cache.c
505
- - t6060: modify multiple files to expose a possible issue with merge-index
506
- - t6407: modernise tests
555
508
- The resolve and octopus merge strategy backends have been rewritten
509
- in C.
556
+* rs/blame-optim (2021-02-17) 1 commit
557
+ (merged to 'next' on 2021-02-17 at e54665eeb3)
558
+ + blame: remove unnecessary use of get_commit_info()
559
511
- Got enough review comments to get updated.
560
+ Optimization in "git blame"
561
513
---------------------------------------------------
514
-[Cooking]
562
+ Will merge to 'master'.
563
516
-* js/range-diff-one-side-only (2021-02-06) 6 commits
517
- (merged to 'next' on 2021-02-08 at 8c35ed8523)
518
- + range-diff: offer --left-only/--right-only options
519
- + range-diff: move the diffopt initialization down one layer
520
- + range-diff: combine all options in a single data structure
521
- + range-diff: simplify code spawning `git log`
522
- + range-diff: libify the read_patches() function again
523
- + range-diff: avoid leaking memory in two error code paths
564
525
- The "git range-diff" command learned "--(left|right)-only" option
526
- to show only one side of the compared range.
565
+* rs/pretty-describe (2021-02-17) 2 commits
566
+ - pretty: add merge and exclude options to %(describe)
567
+ - pretty: add %(describe)
568
528
- Will merge to 'master'.
569
+ "git log --format='...'" learned "%(describe)" placeholder.
570
571
572
* cm/rebase-i-updates (2021-02-10) 11 commits
@@ -558,28 +599,9 @@ Release tarballs are available at:
599
cf. <F63929A8-7BC9-43A7-9E7B-118433F62588@gmx.ch>
600
601
561
-* ds/maintenance-pack-refs (2021-02-09) 2 commits
562
- (merged to 'next' on 2021-02-11 at 36f56bc9ec)
563
- + maintenance: incremental strategy runs pack-refs weekly
564
- + maintenance: add pack-refs task
565
-
566
- "git maintenance" tool learned a new "pack-refs" maintenance task.
567
-
568
- Will merge to 'master'.
569
-
570
-
571
-* jk/mailmap-only-at-root (2021-02-10) 1 commit
572
- (merged to 'next' on 2021-02-10 at fbd122fd6c)
573
- + mailmap: only look for .mailmap in work tree
574
-
575
- The .mailmap is documented to be read only from the root level of a
576
- working tree, but a stray file in a bare repository also was read
577
- by accident, which has been corrected.
578
-
579
- Will merge to 'master'.
580
-
581
-
582
-* jk/rev-list-disk-usage (2021-02-11) 2 commits
602
+* jk/rev-list-disk-usage (2021-02-17) 4 commits
603
+ - docs/rev-list: add some examples of --disk-usage
604
+ - docs/rev-list: add an examples section
605
(merged to 'next' on 2021-02-11 at 6fb701f287)
606
+ rev-list: add --disk-usage option for calculating disk usage
607
+ t: add --no-tag option to test_commit
@@ -587,39 +609,17 @@ Release tarballs are available at:
609
610
"git rev-list" command learned "--disk-usage" option.
611
590
- Will merge to 'master'.
591
-
592
-
593
-* jt/trace2-BUG (2021-02-09) 1 commit
594
- (merged to 'next' on 2021-02-09 at 94911ad676)
595
- + usage: trace2 BUG() invocations
596
-
597
- Even though invocations of "die()" were logged to the trace2
598
- system, "BUG()"s were not, which has been corrected.
599
-
600
- Will merge to 'master'.
612
+ Will merge to 'next' and then to 'master'.
613
614
615
* mt/checkout-index-corner-cases (2021-02-16) 2 commits
604
- - checkout-index: omit entries with no tempname from --temp output
605
- - write_entry(): fix misuses of `path` in error messages
616
+ (merged to 'next' on 2021-02-17 at 81dad9735b)
617
+ + checkout-index: omit entries with no tempname from --temp output
618
+ + write_entry(): fix misuses of `path` in error messages
619
620
The error codepath around the "--temp/--prefix" feature of "git
621
checkout-index" has been improved.
622
610
- Will merge to 'next'.
611
-
612
-
613
-* mt/grep-cached-untracked (2021-02-09) 1 commit
614
- (merged to 'next' on 2021-02-10 at e1fca79104)
615
- + grep: error out if --untracked is used with --cached
616
-
617
- "git grep --untracked" is meant to be "let's ALSO find in these
618
- files on the filesystem" when looking for matches in the working
619
- tree files, and does not make any sense if the primary search is
620
- done against the index, or the tree objects. The "--cached" and
621
- "--untracked" options have been marked as mutually incompatible.
622
-
623
Will merge to 'master'.
624
625
@@ -662,27 +662,6 @@ Release tarballs are available at:
662
iterations; I split the preparatory part up to fast-track it.
663
664
665
-* ew/rev-parse-since-test (2021-02-10) 1 commit
666
- (merged to 'next' on 2021-02-11 at 2490918be8)
667
- + t1500: ensure current --since= behavior remains
668
-
669
- Test to make sure "git rev-parse one-thing one-thing" gives
670
- the same thing twice (when one-thing is --since=X).
671
-
672
- Will merge to 'master'.
673
-
674
-
675
-* js/fsck-name-objects-fix (2021-02-10) 2 commits
676
- (merged to 'next' on 2021-02-10 at 79afd7ebdc)
677
- + fsck --name-objects: be more careful parsing generation numbers
678
- + t1450: robustify `remove_object()`
679
-
680
- Fix "git fsck --name-objects" which apparently has not been used by
681
- anybody who is motivated enough to report breakage.
682
-
683
- Will merge to 'master'.
684
-
685
-
665
* sv/t7001-modernize (2021-02-11) 10 commits
666
- t7001: use `test` rather than `[`
667
- t7001: use here-docs instead of echo
@@ -706,24 +685,7 @@ Release tarballs are available at:
685
"git grep" has been tweaked to be limited to the sparse checkout
686
paths.
687
709
- Break out and fast-track bugfix from the remainder of the topic.
710
- cf. <CABPp-BFkACtF6LHkFJNt9dTOmwfQbf8ZO=BTrPYwPSmbqc9+hg@mail.gmail.com>
711
-
712
-
713
-* ds/commit-graph-genno-fix (2021-02-01) 6 commits
714
- (merged to 'next' on 2021-02-03 at b3a9e11efb)
715
- + commit-graph: prepare commit graph
716
- + commit-graph: be extra careful about mixed generations
717
- + commit-graph: compute generations separately
718
- + commit-graph: validate layers for generation data
719
- + commit-graph: always parse before commit_graph_data_at()
720
- + commit-graph: use repo_parse_commit
721
- (this branch uses ak/corrected-commit-date; is tangled with ds/chunked-file-api and ds/merge-base-independent.)
722
-
723
- Fix incremental update of commit-graph file around corrected commit
724
- date data.
725
-
726
- Will merge to 'master', together with "ak/corrected-commit-date".
688
+ Will merge to 'next'.
689
690
691
* jh/simple-ipc (2021-02-17) 12 commits
@@ -773,7 +735,7 @@ Release tarballs are available at:
735
Will merge to 'master'.
736
737
776
-* ds/chunked-file-api (2021-02-05) 17 commits
738
+* ds/chunked-file-api (2021-02-18) 17 commits
739
- chunk-format: add technical docs
740
- chunk-format: restore duplicate chunk checks
741
- midx: use 64-bit multiplication for chunk sizes
@@ -791,13 +753,12 @@ Release tarballs are available at:
753
- commit-graph: use chunk-format write API
754
- chunk-format: create chunk format write API
755
- commit-graph: anonymize data in chunk_write_fn
794
- (this branch uses ak/corrected-commit-date; is tangled with ds/commit-graph-genno-fix and ds/merge-base-independent.)
756
757
The common code to deal with "chunked file format" that is shared
758
by the multi-pack-index and commit-graph files have been factored
759
out, to help codepaths for both filetypes to become more rebust.
760
800
- Getting there.
761
+ Will merge to 'next'.
762
763
764
* ds/merge-base-independent (2021-02-01) 5 commits
@@ -806,11 +767,13 @@ Release tarballs are available at:
767
- commit-reach: move compare_commits_by_gen
768
- commit-reach: use one walk in remove_redundant()
769
- commit-reach: reduce requirements for remove_redundant()
809
- (this branch uses ak/corrected-commit-date; is tangled with ds/chunked-file-api and ds/commit-graph-genno-fix.)
770
771
The code to implement "git merge-base --independent" was poorly
772
done and was kept from the very beginning of the feature.
773
774
+ Expecting a reroll.
775
+ cf. <pull.852.v2.git.1612183647.gitgitgadget@gmail.com>
776
+
777
778
* hv/trailer-formatting (2021-02-15) 4 commits
779
- ref-filter: use pretty.c logic for trailers
@@ -825,19 +788,6 @@ Release tarballs are available at:
788
Ready for 'next'?
789
790
828
-* sh/mergetool-hideresolved (2021-02-09) 3 commits
829
- (merged to 'next' on 2021-02-09 at c3ed19b2ec)
830
- + mergetool: add per-tool support and overrides for the hideResolved flag
831
- + mergetool: break setup_tool out into separate initialization function
832
- + mergetool: add hideResolved configuration
833
-
834
- "git mergetool" feeds three versions (base, local and remote) of
835
- a conflicted path unmodified. The command learned to optionally
836
- prepare these files with unconflicted parts already resolved.
837
-
838
- Will merge to 'master'.
839
-
840
-
791
* cm/rebase-i (2021-01-29) 9 commits
792
(merged to 'next' on 2021-02-01 at 4f9aa6cec3)
793
+ doc/git-rebase: add documentation for fixup [-C|-c] options
@@ -856,7 +806,7 @@ Release tarballs are available at:
806
Will merge to 'master', together with "cm/rebase-i-updates".
807
808
859
-* tb/geometric-repack (2021-02-03) 8 commits
809
+* tb/geometric-repack (2021-02-18) 8 commits
810
- builtin/repack.c: add '--geometric' option
811
- packfile: add kept-pack cache for find_kept_pack_entry()
812
- builtin/pack-objects.c: rewrite honor-pack-keep logic
@@ -871,6 +821,8 @@ Release tarballs are available at:
821
strategy to reduce the cost of repacking a repository has been
822
introduced.
823
824
+ cf. <cover.1613618042.git.me@ttaylorr.com>
825
+
826
827
* ah/rebase-no-fork-point-config (2021-01-21) 1 commit
828
- rebase: add a config option for --no-fork-point
@@ -883,30 +835,6 @@ Release tarballs are available at:
835
cf. <CAMMLpeTDNLUz9UVnL3aVK=J7X50Sq8L-OVGaoEsT5AY6EQON-g@mail.gmail.com>
836
837
886
-* js/range-diff-wo-dotdot (2021-02-06) 3 commits
887
- (merged to 'next' on 2021-02-08 at 9ae8b46d99)
888
- + range-diff(docs): explain how to specify commit ranges
889
- + range-diff/format-patch: handle commit ranges other than A..B
890
- + range-diff/format-patch: refactor check for commit range
891
-
892
- There are other ways than ".." for a single token to denote a
893
- "commit range", namely "<rev>^!" and "<rev>^-<n>", but "git
894
- range-diff" did not understand them.
895
-
896
- Will merge to 'master'.
897
-
898
-
899
-* jx/t5411-unique-filenames (2021-01-22) 2 commits
900
- (merged to 'next' on 2021-02-11 at bc5c67f70f)
901
- + t5411: refactor check of refs using test_cmp_refs
902
- + t5411: use different out file to prevent overwriting
903
-
904
- Avoid individual tests in t5411 from getting affected by each other
905
- by forcing them to use separate output files during the test.
906
-
907
- Will merge to 'master'.
908
-
909
-
838
* jt/transfer-fsck-across-packs (2021-01-25) 5 commits
839
- SQUASH??? test fix
840
- fetch-pack: print and use dangling .gitmodules
@@ -924,7 +852,8 @@ Release tarballs are available at:
852
objects that must be inspected later and check them in the calling
853
"fetch-pack" process.
854
927
- Expecting an update.
855
+ Expecting an update, but perhaps it may be a good approach to
856
+ rebuild the topic on top of ab/fsck-api-cleanup
857
858
859
* bc/signed-objects-with-both-hashes (2021-02-10) 6 commits
@@ -943,56 +872,6 @@ Release tarballs are available at:
872
Will merge to 'master'.
873
874
946
-* ak/corrected-commit-date (2021-01-18) 11 commits
947
- (merged to 'next' on 2021-01-26 at deae33ec7d)
948
- + doc: add corrected commit date info
949
- + commit-reach: use corrected commit dates in paint_down_to_common()
950
- + commit-graph: use generation v2 only if entire chain does
951
- + commit-graph: implement generation data chunk
952
- + commit-graph: implement corrected commit date
953
- + commit-graph: return 64-bit generation number
954
- + commit-graph: add a slab to store topological levels
955
- + t6600-test-reach: generalize *_three_modes
956
- + commit-graph: consolidate fill_commit_graph_info
957
- + revision: parse parent in indegree_walk_step()
958
- + commit-graph: fix regression when computing Bloom filters
959
- (this branch is used by ds/chunked-file-api, ds/commit-graph-genno-fix and ds/merge-base-independent.)
960
-
961
- The commit-graph learned to use corrected commit dates instead of
962
- the generation number to help topological revision traversal.
963
-
964
- Will merge to 'master', together with "ds/commit-graph-genno-fix".
965
-
966
-
967
-* mr/bisect-in-c-4 (2021-02-03) 7 commits
968
- (merged to 'next' on 2021-02-05 at ea18026619)
969
- + bisect--helper: retire `--check-and-set-terms` subcommand
970
- + bisect--helper: reimplement `bisect_skip` shell function in C
971
- + bisect--helper: retire `--bisect-auto-next` subcommand
972
- + bisect--helper: use `res` instead of return in BISECT_RESET case option
973
- + bisect--helper: retire `--bisect-write` subcommand
974
- + bisect--helper: reimplement `bisect_replay` shell function in C
975
- + bisect--helper: reimplement `bisect_log` shell function in C
976
-
977
- Piecemeal of rewrite of "git bisect" in C continues.
978
-
979
- Will merge to 'master'.
980
-
981
-
982
-* jt/clone-unborn-head (2021-02-05) 3 commits
983
- (merged to 'next' on 2021-02-08 at 3ba9f80e7f)
984
- + clone: respect remote unborn HEAD
985
- + connect, transport: encapsulate arg in struct
986
- + ls-refs: report unborn targets of symrefs
987
-
988
- "git clone" tries to locally check out the branch pointed at by
989
- HEAD of the remote repository after it is done, but the protocol
990
- did not convey the information necessary to do so when copying an
991
- empty repository. The protocol v2 learned how to do so.
992
-
993
- Will merge to 'master'.
994
-
995
-
875
* mt/parallel-checkout-part-1 (2020-12-16) 9 commits
876
- entry: add checkout_entry_ca() taking preloaded conv_attrs
877
- entry: move conv_attrs lookup up to checkout_entry()
@@ -1057,87 +936,42 @@ Release tarballs are available at:
936
--------------------------------------------------
937
[Discarded]
938
1060
-* ds/update-index (2021-01-09) 14 commits
1061
- . update-index: remove static globals from callbacks
1062
- . update-index: reduce static globals, part 2
1063
- . update-index: reduce static globals, part 1
1064
- . update-index: remove ce_match_stat(), all macros
1065
- . update-index: replace several compatibility macros
1066
- . update-index: use add_index_entry()
1067
- . update-index: use remove_file_from_index()
1068
- . update-index: use index_name_pos() over cache_name_pos()
1069
- . update-index: use istate->cache_changed
1070
- . update-index: use istate->cache_nr over active_nr
1071
- . update-index: use istate->cache over active_cache
1072
- . update-index: drop the_index, the_repository
1073
- . rm: remove compatilibity macros
1074
- . mv: remove index compatibility macros
1075
- (this branch uses ag/merge-strategies-in-c.)
1076
-
1077
- The implementation of a few commands lost reliance of "the_index"
1078
- compatibility macros by explicitly passing the index_state through
1079
- the callchain.
1080
-
1081
- Retracted for now.
1082
- cf. <a6906459-3a93-ecad-c460-b6c763819389@gmail.com>
1083
-
1084
-
1085
-* fc/mergetool-automerge (2021-01-09) 8 commits
1086
- . fixup! mergetool: break setup_tool out into separate initialization function
1087
- . fixup! fixup! mergetool: add automerge configuration
1088
- . fixup! mergetool: add automerge configuration
1089
- . mergetool: add automerge_enabled tool-specific override function
1090
- . mergetool: break setup_tool out into separate initialization function
1091
- . mergetool: add per-tool support for the autoMerge flag
1092
- . mergetool: alphabetize the mergetool config docs
1093
- . mergetool: add automerge configuration
939
+* sm/curl-retry (2020-10-13) 3 commits
940
+ . http: automatically retry some requests
941
+ . replace CURLOPT_FILE With CURLOPT_WRITEDATA
942
+ . remote-curl: add testing for intelligent retry for HTTP
943
1095
- "git mergetool" feeds three versions (base, local and remote) of
1096
- a conflicted path unmodified. The command learned to optionally
1097
- prepare these files with unconflicted parts already resolved.
944
+ The http transport has been taught to retry a failed request that
945
+ may reasonably be retried.
946
1099
- Superseded by the sh/mergetool-hideresolved topic.
947
+ Stalled for too long without any activity.
948
+ cf. <20201015000410.GB328643@google.com>
949
+ cf. <CAM4o00eefXK2CJ_FxwwVPpBKL01JsJANf+SdjCtw_0NVV82L+Q@mail.gmail.com>
950
951
1102
-* mt/rm-sparse-checkout (2020-12-08) 11 commits
1103
- . rm: honor sparse checkout patterns
1104
- . t7817: do not depend on any specific default branch name
1105
- . config: add setting to ignore sparsity patterns in some cmds
1106
- . grep: honor sparse checkout patterns
1107
- . config: correctly read worktree configs in submodules
1108
- . config: make do_git_config_sequence receive a 'struct repository'
1109
- . t/helper/test-config: unify exit labels
1110
- . t/helper/test-config: diagnose missing arguments
1111
- . t/helper/test-config: be consistent with exit codes
1112
- . t1308-config-set: avoid false positives when using test-config
1113
- . doc: grep: unify info on configuration variables
952
+* ar/fetch-transfer-ipversion (2020-09-16) 1 commit
953
+ . config: option transfer.ipversion to set transport protocol version for network fetches
954
+
955
+ Adds transfer.ipversion configuration variable.
956
1115
- "git rm" follows suit to "git grep" to ignore paths outside the
1116
- sparsity pattern when the sparse checkout feature is in use.
957
+ Stalled for too long without any activity.
958
1118
- Discarded for now, as it depends on an old iteration of
1119
- mt/grep-sparse-checkout topic.
959
960
+* jc/war-on-dashed-git (2020-12-21) 2 commits
961
+ . fixup??? git: catch an attempt to run "git-foo"
962
+ . git: catch an attempt to run "git-foo"
963
1122
-* fc/bash-completion-post-2.29 (2020-12-23) 4 commits
1123
- . completion: bash: add correct suffix in variables
1124
- . completion: bash: fix for multiple dash commands
1125
- . completion: bash: fix for suboptions with value
1126
- . completion: bash: fix prefix detection in branch.*
964
+ The first step to remove on-disk binaries for built-in subcommands
965
+ by soliciting objections.
966
1128
- Stalled for too long with breakage.
1129
- Seems to break tests on Windows
967
+ Stalled for too long without any activity.
968
969
1132
-* ss/submodule-add-in-c (2020-12-15) 3 commits
1133
- . t7400: add test to check 'submodule add' for tracked paths
1134
- . submodule: port submodule subcommand 'add' from shell to C
1135
- . dir: change the scope of function 'directory_exists_in_index()'
970
+* mk/use-size-t-in-zlib (2018-10-15) 1 commit
971
+ . zlib.c: use size_t for size
972
1137
- "git submodule add" being rewritten in C.
973
+ The wrapper to call into zlib followed our long tradition to use
974
+ "unsigned long" for sizes of regions in memory, which have been
975
+ updated to use "size_t".
976
1139
- Stalled for too long with breakage.
1140
- The patches are split incorrectly; part of 1/3 belongs to 2/3
1141
- cf. <nycvar.QRO.7.76.6.2012190104140.56@tvgsbejvaqbjf.bet>
1142
- It seems to introduce a segfault on 'seen'.
1143
- cf. <xmqqft3xflw7.fsf@gitster.c.googlers.com>
977
+ Stalled for too long without any activity.