What's cooking (2021/03 #08)
Junio C Hamano committed
Mar 30, 2021 at 15:11 UTC
a66fe4a14e0defbd0838ffac832d8756215a5ac2
1 file changed
+440
-556
whats-cooking.txt
+440
-556
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
Bcc: lwn@lwn.net
3
-Subject: What's cooking in git.git (Mar 2021, #07; Mon, 22)
4
-X-master-at: 142430338477d9d1bb25be66267225fb58498d92
5
-X-next-at: 6335e70b5e894eb553908aed65279cb1c81a147e
3
+Subject: What's cooking in git.git (Mar 2021, #08; Tue, 30)
4
+X-master-at: a65ce7f831aa5fcc596c6d23fcde543d98b39bd7
5
+X-next-at: f1725819714fbcd96c47ae5f14e00cc01045272f
6
7
-What's cooking in git.git (Mar 2021, #07; Mon, 22)
7
+What's cooking in git.git (Mar 2021, #08; Tue, 30)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking. Commits prefixed with '-' are
@@ -12,11 +12,6 @@ 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 tip of the 'next' has been rewound and rebuilt from the tip of
16
-'master'. Matheus's parallel checkout (part 1) topic has been
17
-ejected from 'next' to be replaced with a new iteration when it
18
-comes.
19
-
15
Copies of the source code to Git live in many repositories, and the
16
following is a list of the ones I push into or their mirrors. Some
17
repositories have only a subset of branches.
@@ -48,206 +43,357 @@ Release tarballs are available at:
43
--------------------------------------------------
44
[Graduated to 'master']
45
51
-* ab/grep-pcre2-allocfix (2021-02-17) 10 commits
52
- (merged to 'next' on 2021-03-04 at 26d2b726b1)
53
- + grep/pcre2: move definitions of pcre2_{malloc,free}
54
- + grep/pcre2: move back to thread-only PCREv2 structures
55
- + grep/pcre2: actually make pcre2 use custom allocator
56
- + grep/pcre2: use pcre2_maketables_free() function
57
- + grep/pcre2: use compile-time PCREv2 version test
58
- + grep/pcre2: add GREP_PCRE2_DEBUG_MALLOC debug mode
59
- + grep/pcre2: prepare to add debugging to pcre2_malloc()
60
- + grep/pcre2: correct reference to grep_init() in comment
61
- + grep/pcre2: drop needless assignment to NULL
62
- + grep/pcre2: drop needless assignment + assert() on opt->pcre2
46
+* ab/detox-gettext-tests (2021-03-23) 1 commit
47
+ (merged to 'next' on 2021-03-24 at 00123ddc8d)
48
+ + mktag tests: fix broken "&&" chain
49
64
- Updates to memory allocation code around the use of pcre2 library.
50
+ Testfix.
51
52
67
-* ab/remote-write-config-in-camel-case (2021-02-24) 2 commits
68
- (merged to 'next' on 2021-03-01 at a01bd0d8e4)
69
- + remote: write camel-cased *.pushRemote on rename
70
- + remote: add camel-cased *.tagOpt key, like clone
53
+* ab/diff-no-index-tests (2021-03-22) 2 commits
54
+ (merged to 'next' on 2021-03-24 at a099113753)
55
+ + diff --no-index tests: test mode normalization
56
+ + diff --no-index tests: add test for --exit-code
57
72
- Update C code that sets a few configuration variables when a remote
73
- is configured so that it spells configuration variable names in the
74
- canonical camelCase.
58
+ More test coverage over "diff --no-index".
59
60
77
-* bc/clone-bare-with-conflicting-config (2021-03-10) 1 commit
78
- (merged to 'next' on 2021-03-14 at 963a86199c)
79
- + builtin/init-db: handle bare clones when core.bare set to false
61
+* ab/make-cleanup (2021-02-23) 5 commits
62
+ (merged to 'next' on 2021-03-22 at e9e16c9fc4)
63
+ + Makefile: add {program,xdiff,test,git,fuzz}-objs & objects targets
64
+ + Makefile: split OBJECTS into OBJECTS and GIT_OBJS
65
+ + Makefile: sort OBJECTS assignment for subsequent change
66
+ + Makefile: split up long OBJECTS line
67
+ + Makefile: guard against TEST_OBJS in the environment
68
81
- "git -c core.bare=false clone --bare ..." would have segfaulted,
82
- which has been corrected.
69
+ Originally merged to 'next' on 2021-03-19
70
71
+ Reorganize Makefile to allow building git.o and other essential
72
+ objects without extra stuff needed only for testing.
73
85
-* dl/cat-file-doc-cleanup (2021-03-03) 2 commits
86
- (merged to 'next' on 2021-03-13 at f1a216175a)
87
- + git-cat-file.txt: remove references to "sha1"
88
- + git-cat-file.txt: monospace args, placeholders and filenames
74
90
- Doc cleanup.
75
+* ab/read-tree (2021-03-20) 8 commits
76
+ (merged to 'next' on 2021-03-24 at e1241a4890)
77
+ + tree.h API: simplify read_tree_recursive() signature
78
+ + tree.h API: expose read_tree_1() as read_tree_at()
79
+ + archive: stop passing "stage" through read_tree_recursive()
80
+ + ls-files: refactor away read_tree()
81
+ + ls-files: don't needlessly pass around stage variable
82
+ + tree.c API: move read_tree() into builtin/ls-files.c
83
+ + ls-files tests: add meaningful --with-tree tests
84
+ + show tests: add test for "git show <tree>"
85
+ (this branch is used by ds/sparse-index and ds/sparse-index-protections.)
86
87
+ Code simplification by removing support for a caller that is long gone.
88
93
-* dl/stash-show-untracked (2021-03-05) 2 commits
94
- (merged to 'next' on 2021-03-08 at 510d4cfa5f)
95
- + stash show: learn stash.showIncludeUntracked
96
- + stash show: teach --include-untracked and --only-untracked
89
98
- "git stash show" learned to optionally show untracked part of the
99
- stash.
90
+* ab/remove-rebase-usebuiltin (2021-03-23) 1 commit
91
+ (merged to 'next' on 2021-03-24 at 39517a1c41)
92
+ + rebase: remove transitory rebase.useBuiltin setting & env
93
94
+ Remove the final hint that we used to have a scripted "git rebase".
95
102
-* ds/commit-graph-generation-config (2021-02-25) 2 commits
103
- (merged to 'next' on 2021-03-01 at 926537ea97)
104
- + commit-graph: use config to specify generation type
105
- + commit-graph: create local repository pointer
96
107
- A new configuration variable has been introduced to allow choosing
108
- which version of the generation number gets used in the
109
- commit-graph file.
97
+* bs/asciidoctor-installation-hints (2021-03-19) 1 commit
98
+ (merged to 'next' on 2021-03-24 at 93980207f7)
99
+ + INSTALL: note on using Asciidoctor to build doc
100
101
+ Doc update.
102
112
-* en/ort-perf-batch-8 (2021-02-26) 10 commits
113
- (merged to 'next' on 2021-03-07 at f03b2c1acd)
114
- + diffcore-rename: compute dir_rename_guess from dir_rename_counts
115
- + diffcore-rename: limit dir_rename_counts computation to relevant dirs
116
- + diffcore-rename: compute dir_rename_counts in stages
117
- + diffcore-rename: extend cleanup_dir_rename_info()
118
- + diffcore-rename: move dir_rename_counts into dir_rename_info struct
119
- + diffcore-rename: add function for clearing dir_rename_count
120
- + Move computation of dir_rename_count from merge-ort to diffcore-rename
121
- + diffcore-rename: add a mapping of destination names to their indices
122
- + diffcore-rename: provide basic implementation of idx_possible_rename()
123
- + diffcore-rename: use directory rename guided basename comparisons
124
- (this branch is used by en/ort-perf-batch-10, en/ort-perf-batch-9 and en/ort-readiness.)
103
126
- Rename detection rework continues.
104
+* cm/rebase-i (2021-01-29) 9 commits
105
+ (merged to 'next' on 2021-03-22 at d5612f5a75)
106
+ + doc/git-rebase: add documentation for fixup [-C|-c] options
107
+ + rebase -i: teach --autosquash to work with amend!
108
+ + t3437: test script for fixup [-C|-c] options in interactive rebase
109
+ + rebase -i: add fixup [-C | -c] command
110
+ + sequencer: use const variable for commit message comments
111
+ + sequencer: pass todo_item to do_pick_commit()
112
+ + rebase -i: comment out squash!/fixup! subjects from squash message
113
+ + sequencer: factor out code to append squash message
114
+ + rebase -i: only write fixup-message when it's needed
115
+ (this branch is used by cm/rebase-i-fixup-amend-reword and cm/rebase-i-updates.)
116
117
+ Originally merged to 'next' on 2021-02-01
118
129
-* jk/filter-branch-sha256 (2021-03-10) 3 commits
130
- (merged to 'next' on 2021-03-14 at e4e624590a)
131
- + filter-branch: drop $_x40 glob
132
- + filter-branch: drop multiple-ancestor warning
133
- + t7003: test ref rewriting explicitly
119
+ "rebase -i" is getting cleaned up and also enhanced.
120
135
- Code clean-up.
136
- In the longer term, we might want to remove filter-branch and nudge
137
- folks to more modern tools.
121
122
+* cm/rebase-i-fixup-amend-reword (2021-03-15) 6 commits
123
+ (merged to 'next' on 2021-03-22 at 6335e70b5e)
124
+ + doc/git-commit: add documentation for fixup=[amend|reword] options
125
+ + t3437: use --fixup with options to create amend! commit
126
+ + t7500: add tests for --fixup=[amend|reword] options
127
+ + commit: add a reword suboption to --fixup
128
+ + commit: add amend suboption to --fixup to create amend! commit
129
+ + sequencer: export and rename subject_length()
130
+ (this branch uses cm/rebase-i and cm/rebase-i-updates.)
131
140
-* jk/open-dotgitx-with-nofollow (2021-02-16) 6 commits
141
- (merged to 'next' on 2021-02-25 at a784bf7be6)
142
- + mailmap: do not respect symlinks for in-tree .mailmap
143
- + exclude: do not respect symlinks for in-tree .gitignore
144
- + attr: do not respect symlinks for in-tree .gitattributes
145
- + exclude: add flags parameter to add_patterns()
146
- + attr: convert "macro_ok" into a flags field
147
- + add open_nofollow() helper
132
+ Originally merged to 'next' on 2021-03-19
133
149
- It does not make sense to make ".gitattributes", ".gitignore" and
150
- ".mailmap" symlinks, as they are supposed to be usable from the
151
- object store (think: bare repositories where HEAD:.mailmap etc. are
152
- used). When these files are symbolic links, we used to read the
153
- contents of the files pointed by them by mistake, which has been
154
- corrected.
134
+ "git commit --fixup=<commit>", which was to tweak the changes made
135
+ to the contents while keeping the original log message intact,
136
+ learned "--fixup=(amend|reword):<commit>", that can be used to
137
+ tweak both the message and the contents, and only the message,
138
+ respectively.
139
140
157
-* jk/perf-in-worktrees (2021-02-26) 2 commits
158
- (merged to 'next' on 2021-03-02 at ea298cb298)
159
- + t/perf: avoid copying worktree files from test repo
160
- + t/perf: handle worktrees as test repos
141
+* cm/rebase-i-updates (2021-02-10) 11 commits
142
+ (merged to 'next' on 2021-03-22 at 067e2829d9)
143
+ + doc/rebase -i: fix typo in the documentation of 'fixup' command
144
+ + t/t3437: fixup the test 'multiple fixup -c opens editor once'
145
+ + t/t3437: use named commits in the tests
146
+ + t/t3437: simplify and document the test helpers
147
+ + t/t3437: check the author date of fixed up commit
148
+ + t/t3437: remove the dependency of 'expected-message' file from tests
149
+ + t/t3437: fixup here-docs in the 'setup' test
150
+ + t/lib-rebase: update the documentation of FAKE_LINES
151
+ + rebase -i: clarify and fix 'fixup -c' rebase-todo help
152
+ + sequencer: rename a few functions
153
+ + sequencer: fixup the datatype of the 'flag' argument
154
+ (this branch is used by cm/rebase-i-fixup-amend-reword; uses cm/rebase-i.)
155
162
- Perf test update to work better in secondary worktrees.
156
+ Originally merged to 'next' on 2021-02-12
157
158
+ Follow-up fixes to "cm/rebase-i" topic.
159
165
-* jr/doc-ignore-typofix (2021-03-03) 1 commit
166
- (merged to 'next' on 2021-03-13 at 0ce1e751b1)
167
- + doc: .gitignore documentation typofix
160
169
- Doc cleanup.
161
+* cs/http-use-basic-after-failed-negotiate (2021-03-22) 1 commit
162
+ (merged to 'next' on 2021-03-24 at 252983daa3)
163
+ + remote-curl: fall back to basic auth if Negotiate fails
164
165
+ When accessing a server with a URL like https://user:pass@site/, we
166
+ did not to fall back to the basic authentication with the
167
+ credential material embedded in the URL after the "Negotiate"
168
+ authentication failed. Now we do.
169
172
-* mt/cleanly-die-upon-missing-required-filter (2021-02-26) 1 commit
173
- (merged to 'next' on 2021-03-01 at 357954af7c)
174
- + convert: fail gracefully upon missing clean cmd on required filter
170
176
- We had a code to diagnose and die cleanly when a required
177
- clean/smudge filter is missing, but an assert before that
178
- unnecessarily fired, hiding the end-user facing die() message.
171
+* hx/pack-objects-chunk-comment (2021-03-24) 1 commit
172
+ (merged to 'next' on 2021-03-24 at e1c9ec9b71)
173
+ + pack-objects: fix comment of reused_chunk.difference
174
175
+ Comment update.
176
181
-* ps/update-ref-trans-hook-doc (2021-03-01) 2 commits
182
- (merged to 'next' on 2021-03-14 at 41c418967d)
183
- + githooks.txt: clarify documentation on reference-transaction hook
184
- + githooks.txt: replace mentions of SHA-1 specific properties
177
186
- Doc update.
178
+* jc/doc-format-patch-clarify (2021-03-24) 1 commit
179
+ (merged to 'next' on 2021-03-26 at 421c7c469f)
180
+ + format-patch: give an overview of what a "patch" message is
181
182
+ Explain pieces of the format-patch output upfront before the rest
183
+ of the documentation starts referring to them.
184
189
-* rr/mailmap-entry-self (2021-03-08) 1 commit
190
- (merged to 'next' on 2021-03-13 at 9f98a99713)
191
- + Add entry for Ramkumar Ramachandra
185
193
- Will merge to 'master'.
186
+* jk/fail-prereq-testfix (2021-03-18) 1 commit
187
+ (merged to 'next' on 2021-03-22 at efbda3a7ce)
188
+ + t: annotate !PTHREADS tests with !FAIL_PREREQS
189
+
190
+ Originally merged to 'next' on 2021-03-19
191
+
192
+ GIT_TEST_FAIL_PREREQS is a mechanism to skip test pieces with
193
+ prerequisites to catch broken tests that depend on the side effects
194
+ of optional pieces, but did not work at all when negative
195
+ prerequisites were involved.
196
+
197
+
198
+* js/http-pki-credential-store (2021-03-11) 2 commits
199
+ (merged to 'next' on 2021-03-22 at 0df16bc9b3)
200
+ + http: drop the check for an empty proxy password before approving
201
+ + http: store credential when PKI auth is used
202
+
203
+ Originally merged to 'next' on 2021-03-19
204
+
205
+ The http codepath learned to let the credential layer to cache the
206
+ password used to unlock a certificate that has successfully been
207
+ used.
208
+
209
+
210
+* mt/checkout-remove-nofollow (2021-03-18) 2 commits
211
+ (merged to 'next' on 2021-03-24 at 7a0bd7a95f)
212
+ + checkout: don't follow symlinks when removing entries
213
+ + symlinks: update comment on threaded_check_leading_path()
214
+
215
+ When "git checkout" removes a path that does not exist in the
216
+ commit it is checking out, it wasn't careful enough not to follow
217
+ symbolic links, which has been corrected.
218
+
219
+
220
+* nk/diff-index-fsmonitor (2021-03-18) 3 commits
221
+ (merged to 'next' on 2021-03-22 at 3d4fa0bc51)
222
+ + fsmonitor: add perf test for git diff HEAD
223
+ + fsmonitor: add assertion that fsmonitor is valid to check_removed
224
+ + fsmonitor: skip lstat deletion check during git diff-index
225
226
+ Originally merged to 'next' on 2021-03-19
227
+
228
+ "git diff-index" codepath has been taught to trust fsmonitor status
229
+ to reduce number of lstat() calls.
230
196
-* rs/pretty-describe (2021-03-11) 5 commits
197
- (merged to 'next' on 2021-03-12 at e987259477)
198
- + archive: expand only a single %(describe) per archive
199
- (merged to 'next' on 2021-03-01 at bee9248828)
200
- + pretty: document multiple %(describe) being inconsistent
201
- + t4205: assert %(describe) test coverage
202
- (merged to 'next' on 2021-02-25 at 2347ed8fe6)
203
- + pretty: add merge and exclude options to %(describe)
204
- + pretty: add %(describe)
231
206
- "git log --format='...'" learned "%(describe)" placeholder.
232
+* rf/send-email-hookspath (2021-03-23) 1 commit
233
+ (merged to 'next' on 2021-03-24 at 84079a6e0f)
234
+ + git-send-email: Respect core.hooksPath setting
235
236
+ "git send-email" learned to honor the core.hooksPath configuration.
237
209
-* sv/t9801-test-path-is-file-cleanup (2021-03-03) 1 commit
210
- (merged to 'next' on 2021-03-13 at 14997360bb)
211
- + t9801: replace test -f with test_path_is_file
238
213
- Test cleanup.
239
+* tb/geometric-repack (2021-03-19) 14 commits
240
+ (merged to 'next' on 2021-03-22 at 8147f00207)
241
+ + builtin/pack-objects.c: ignore missing links with --stdin-packs
242
+ + builtin/repack.c: reword comment around pack-objects flags
243
+ + builtin/repack.c: be more conservative with unsigned overflows
244
+ + builtin/repack.c: assign pack split later
245
+ + t7703: test --geometric repack with loose objects
246
+ + builtin/repack.c: do not repack single packs with --geometric
247
+ + builtin/repack.c: add '--geometric' option
248
+ + packfile: add kept-pack cache for find_kept_pack_entry()
249
+ + builtin/pack-objects.c: rewrite honor-pack-keep logic
250
+ + p5303: measure time to repack with keep
251
+ + p5303: add missing &&-chains
252
+ + builtin/pack-objects.c: add '--stdin-packs' option
253
+ + revision: learn '--no-kept-objects'
254
+ + packfile: introduce 'find_kept_pack_entry()'
255
+
256
+ Originally merged to 'next' on 2021-03-08
257
+
258
+ "git repack" so far has been only capable of repacking everything
259
+ under the sun into a single pack (or split by size). A cleverer
260
+ strategy to reduce the cost of repacking a repository has been
261
+ introduced.
262
+
263
+
264
+* tb/push-simple-uses-branch-merge-config (2021-03-13) 1 commit
265
+ (merged to 'next' on 2021-03-22 at bec0a72090)
266
+ + Documentation/git-push.txt: correct configuration typo
267
+
268
+ Originally merged to 'next' on 2021-03-19
269
+
270
+ Doc update.
271
272
--------------------------------------------------
273
[New Topics]
274
218
-* ab/diff-no-index-tests (2021-03-22) 2 commits
219
- - diff --no-index tests: test mode normalization
220
- - diff --no-index tests: add test for --exit-code
275
+* zh/commit-trailer (2021-03-23) 1 commit
276
+ - commit: add --trailer option
277
222
- More test coverage over "diff --no-index".
278
+ "git commit" learned "--trailer <key>[=<value>]" option; together
279
+ with the interpret-trailers command, this will make it easier to
280
+ support custom trailers.
281
282
Will merge to 'next'.
283
284
227
-* cs/http-use-basic-after-failed-negotiate (2021-03-22) 1 commit
228
- - remote-curl: fall back to basic auth if Negotiate fails
285
+* ab/userdiff-tests (2021-03-23) 10 commits
286
+ - blame tests: simplify userdiff driver test
287
+ - blame tests: don't rely on t/t4018/ directory
288
+ - userdiff: remove support for "broken" tests
289
+ - userdiff tests: list builtin drivers via test-tool
290
+ - userdiff tests: explicitly test "default" pattern
291
+ - userdiff: add and use for_each_userdiff_driver()
292
+ - userdiff style: normalize pascal regex declaration
293
+ - userdiff style: declare patterns with consistent style
294
+ - userdiff style: re-order drivers in alphabetical order
295
+ - userdiff: refactor away the parse_bool() function
296
230
- When accessing a server with a URL like https://user:pass@site/, we
231
- did not to fall back to the basic authentication with the
232
- credential material embedded in the URL after the "Negotiate"
233
- authentication failed. Now we do.
297
+ A bit of code clean-up and a lot of test clean-up around userdiff
298
+ area.
299
+
300
+ A reroll promised "at some point".
301
+ cf. <87im5gp2ze.fsf@evledraar.gmail.com>
302
+
303
+
304
+* ds/clarify-hashwrite (2021-03-26) 1 commit
305
+ (merged to 'next' on 2021-03-30 at 701f5c0696)
306
+ + csum-file: make hashwrite() more readable
307
+
308
+ The hashwrite() API always resulted in a call to write(2), even
309
+ when writing a small amount of bytes that would still fit in the
310
+ internal buffer held by the hashfile struct. It has been updated
311
+ to delay the writing until the buffer is filled or the hashfile
312
+ concluded for performance.
313
+
314
+ Will merge to 'master'.
315
+
316
+
317
+* en/ort-perf-batch-11 (2021-03-25) 7 commits
318
+ - merge-ort, diffcore-rename: employ cached renames when possible
319
+ - merge-ort: add helper functions for using cached renames
320
+ - merge-ort: preserve cached renames for the appropriate side
321
+ - merge-ort: avoid accidental API mis-use
322
+ - merge-ort: add code to check for whether cached renames can be reused
323
+ - merge-ort: populate caches of rename detection results
324
+ - merge-ort: add data structures for in-memory caching of rename detection
325
+ (this branch uses en/ort-perf-batch-10, en/ort-perf-batch-9 and en/ort-readiness.)
326
+
327
+
328
+* rs/daemon-sanitize-dir-sep (2021-03-26) 1 commit
329
+ - daemon: sanitize all directory separators
330
+
331
+ "git daemon" has been tightened against systems that take backslash
332
+ as directory separator.
333
+
334
+
335
+* ar/userdiff-scheme (2021-03-27) 1 commit
336
+ - userdiff: add support for Scheme
337
+
338
+ Userdiff patterns for "Scheme" has been added.
339
+
340
+ Expecting a reroll.
341
+
342
+
343
+* js/cmake-vsbuild (2021-03-29) 4 commits
344
+ - cmake(install): include vcpkg dlls
345
+ - cmake: add a preparatory work-around to accommodate `vcpkg`
346
+ - cmake(install): fix double .exe suffixes
347
+ - cmake: support SKIP_DASHED_BUILT_INS
348
+
349
+ CMake update for vsbuild.
350
351
Will merge to 'next'.
352
353
+
354
+* js/security-md (2021-03-27) 2 commits
355
+ - Document how we do embargoed releases
356
+ - SECURITY: describe how to report vulnerabilities
357
+
358
+ SECURITY.md that is facing individual contributors and end users
359
+ has been introduced. Also a procedure to follow when preparing
360
+ embargoed releases has been spelled out.
361
+
362
+
363
+* ab/make-tags-quiet (2021-03-27) 1 commit
364
+ - Makefile: add QUIET_GEN to "tags" and "TAGS" targets
365
+
366
+
367
+* cc/downcase-opt-help (2021-03-29) 1 commit
368
+ - column, range-diff: downcase option description
369
+
370
+
371
+* en/sequencer-edit-upon-conflict-fix (2021-03-29) 1 commit
372
+ - sequencer: fix edit handling for cherry-pick and revert messages
373
+
374
+
375
+* gk/gitweb-redacted-email (2021-03-29) 1 commit
376
+ - gitweb: redacted e-mail addresses feature.
377
+
378
+
379
+* ll/clone-reject-shallow (2021-03-29) 1 commit
380
+ - builtin/clone.c: add --reject-shallow option
381
+
382
--------------------------------------------------
383
[Cooking]
384
240
-* ds/sparse-index (2021-03-20) 20 commits
385
+* ds/sparse-index (2021-03-30) 21 commits
386
- p2000: add sparse-index repos
387
- sparse-index: loose integration with cache_tree_verify()
388
- cache-tree: integrate with sparse directory entries
389
- sparse-checkout: disable sparse-index
390
- sparse-checkout: toggle sparse index from builtin
246
- - sparse-index: create extension for compatibility
391
+ - sparse-index: add index.sparse config option
392
- sparse-index: check index conversion happens
393
- unpack-trees: allow sparse directories
394
- submodule: sparse-index should not collapse links
395
- sparse-index: convert from full to sparse
396
+ - sparse-index: add 'sdir' index extension
397
- sparse-checkout: hold pattern list in index
398
- unpack-trees: ensure full index
399
- test-tool: don't force full index
@@ -258,7 +404,11 @@ Release tarballs are available at:
404
- t1092: clean up script quoting
405
- t/perf: add performance test for sparse operations
406
- sparse-index: design doc and format update
261
- (this branch is used by ds/sparse-index-protections; uses ab/read-tree.)
407
+
408
+ Both in-core and on-disk index has been updated to optionally omit
409
+ individual entries and replace them with the tree object that
410
+ corresponds to the directory that contains them when the "cone"
411
+ mode of sparse checkout is in use.
412
413
414
* en/ort-perf-batch-10 (2021-03-18) 8 commits
@@ -270,21 +420,13 @@ Release tarballs are available at:
420
- merge-ort: record the reason that we want a rename for a directory
421
- merge-ort, diffcore-rename: tweak dirs_removed and relevant_source type
422
- diffcore-rename: take advantage of "majority rules" to skip more renames
273
- (this branch is used by en/ort-readiness; uses en/ort-perf-batch-9.)
423
+ (this branch is used by en/ort-perf-batch-11 and en/ort-readiness; uses en/ort-perf-batch-9.)
424
275
-
276
-* jk/fail-prereq-testfix (2021-03-18) 1 commit
277
- (merged to 'next' on 2021-03-22 at efbda3a7ce)
278
- + t: annotate !PTHREADS tests with !FAIL_PREREQS
279
-
280
- Originally merged to 'next' on 2021-03-19
281
-
282
- GIT_TEST_FAIL_PREREQS is a mechanism to skip test pieces with
283
- prerequisites to catch broken tests that depend on the side effects
284
- of optional pieces, but did not work at all when negative
285
- prerequisites were involved.
286
-
287
- Will merge to 'master'.
425
+ I made a mistake of picking these up before they got sufficient
426
+ exposure to the reviewers and ended up a source of potential mess
427
+ when it turns out that any of the earlier ones need rewriting (I
428
+ probably should stop picking up nested series that exceeds reviewer
429
+ bandwidth), but how ready is this and subsequent topics?
430
431
432
* mt/add-rm-in-sparse-checkout (2021-03-18) 7 commits
@@ -303,18 +445,7 @@ Release tarballs are available at:
445
cf. <xmqqlfajnn6w.fsf@gitster.g>
446
447
306
-* mt/checkout-remove-nofollow (2021-03-18) 2 commits
307
- - checkout: don't follow symlinks when removing entries
308
- - symlinks: update comment on threaded_check_leading_path()
309
-
310
- When "git checkout" removes a path that does not exist in the
311
- commit it is checking out, it wasn't careful enough not to follow
312
- symbolic links, which has been corrected.
313
-
314
- Will merge to 'next'.
315
-
316
-
317
-* mt/parallel-checkout-part-2 (2021-03-21) 5 commits
448
+* mt/parallel-checkout-part-2 (2021-03-23) 5 commits
449
- parallel-checkout: add design documentation
450
- parallel-checkout: support progress displaying
451
- parallel-checkout: add configuration options
@@ -323,20 +454,6 @@ Release tarballs are available at:
454
(this branch uses mt/parallel-checkout-part-1.)
455
456
326
-* nk/diff-index-fsmonitor (2021-03-18) 3 commits
327
- (merged to 'next' on 2021-03-22 at 3d4fa0bc51)
328
- + fsmonitor: add perf test for git diff HEAD
329
- + fsmonitor: add assertion that fsmonitor is valid to check_removed
330
- + fsmonitor: skip lstat deletion check during git diff-index
331
-
332
- Originally merged to 'next' on 2021-03-19
333
-
334
- "git diff-index" codepath has been taught to trust fsmonitor status
335
- to reduce number of lstat() calls.
336
-
337
- Will merge to 'master'.
338
-
339
-
457
* ps/pack-bitmap-optim (2021-03-22) 1 commit
458
- pack-bitmap: avoid traversal of objects referenced by uninteresting tag
459
@@ -347,56 +464,69 @@ Release tarballs are available at:
464
cf. <xmqqk0q4ov95.fsf@gitster.g>
465
466
350
-* bs/asciidoctor-installation-hints (2021-03-19) 1 commit
351
- - INSTALL: note on using Asciidoctor to build doc
352
-
353
- Doc update.
354
-
355
- Will merge to 'next'.
356
-
357
-
358
-* dl/complete-stash (2021-03-18) 3 commits
359
- - git-completion.bash: use __gitcomp_builtin() in _git_stash()
360
- - git-completion.bash: fix `git <args>... stash branch` bug
361
- - git-completion.bash: extract from else in _git_stash()
467
+* dl/complete-stash (2021-03-24) 3 commits
468
+ (merged to 'next' on 2021-03-24 at ce573a99cc)
469
+ + git-completion.bash: use __gitcomp_builtin() in _git_stash()
470
+ + git-completion.bash: extract from else in _git_stash()
471
+ + git-completion.bash: pass $__git_subcommand_idx from __git_main()
472
473
Update "git stash branch<TAB>" command line completion (in contrib/).
474
365
- Expecting a reroll.
366
- cf. <xmqqtup7nnld.fsf@gitster.g>
367
-
368
-
369
-* ds/sparse-index-protections (2021-03-20) 27 commits
370
- - name-hash: use expand_to_path()
371
- - sparse-index: expand_to_path()
372
- - revision: ensure full index
373
- - resolve-undo: ensure full index
374
- - read-cache: ensure full index
375
- - pathspec: ensure full index
376
- - merge-recursive: ensure full index
377
- - merge-ort: ensure full index
378
- - entry: ensure full index
379
- - dir: ensure full index
380
- - diff-lib: ensure full index
381
- - update-index: ensure full index
382
- - sparse-checkout: ensure full index
383
- - rm: ensure full index
384
- - merge-index: ensure full index
385
- - ls-files: ensure full index
386
- - grep: ensure full index
387
- - fsck: ensure full index
388
- - difftool: ensure full index
389
- - commit: ensure full index
390
- - checkout: ensure full index
391
- - checkout-index: ensure full index
392
- - add: ensure full index
393
- - cache: move ensure_full_index() to cache.h
394
- - sparse-index: API protection strategy
395
- - read-cache: expand on query into sparse-directory entry
396
- - *: remove 'const' qualifier for struct index_state
397
- (this branch uses ab/read-tree and ds/sparse-index.)
398
-
399
- Sparse-index technology demonstration.
475
+ cf. <20210327183554.GD2271@szeder.dev>
476
+
477
+
478
+* ds/sparse-index-protections (2021-03-23) 47 commits
479
+ . name-hash: use expand_to_path()
480
+ . sparse-index: expand_to_path()
481
+ . revision: ensure full index
482
+ . resolve-undo: ensure full index
483
+ . read-cache: ensure full index
484
+ . pathspec: ensure full index
485
+ . merge-recursive: ensure full index
486
+ . merge-ort: ensure full index
487
+ . entry: ensure full index
488
+ . dir: ensure full index
489
+ . diff-lib: ensure full index
490
+ . update-index: ensure full index
491
+ . sparse-checkout: ensure full index
492
+ . rm: ensure full index
493
+ . merge-index: ensure full index
494
+ . ls-files: ensure full index
495
+ . grep: ensure full index
496
+ . fsck: ensure full index
497
+ . difftool: ensure full index
498
+ . commit: ensure full index
499
+ . checkout: ensure full index
500
+ . checkout-index: ensure full index
501
+ . add: ensure full index
502
+ . cache: move ensure_full_index() to cache.h
503
+ . sparse-index: API protection strategy
504
+ . read-cache: expand on query into sparse-directory entry
505
+ . *: remove 'const' qualifier for struct index_state
506
+ . p2000: add sparse-index repos
507
+ . sparse-index: loose integration with cache_tree_verify()
508
+ . cache-tree: integrate with sparse directory entries
509
+ . sparse-checkout: disable sparse-index
510
+ . sparse-checkout: toggle sparse index from builtin
511
+ . sparse-index: create extension for compatibility
512
+ . sparse-index: check index conversion happens
513
+ . unpack-trees: allow sparse directories
514
+ . submodule: sparse-index should not collapse links
515
+ . sparse-index: convert from full to sparse
516
+ . sparse-checkout: hold pattern list in index
517
+ . unpack-trees: ensure full index
518
+ . test-tool: don't force full index
519
+ . test-read-cache: print cache entries with --table
520
+ . t1092: compare sparse-checkout to sparse-index
521
+ . sparse-index: implement ensure_full_index()
522
+ . sparse-index: add guard to ensure full index
523
+ . t1092: clean up script quoting
524
+ . t/perf: add performance test for sparse operations
525
+ . sparse-index: design doc and format update
526
+
527
+ Builds on top of the sparse-index infrastructure to mark operations
528
+ that are not ready to mark with the sparse index, causing them to
529
+ fall back on fully-populated index that they always have worked with.
530
531
532
* en/ort-readiness (2021-03-20) 13 commits
@@ -413,7 +543,7 @@ Release tarballs are available at:
543
- merge-ort: have ll_merge() use a special attr_index for renormalization
544
- merge-ort: add a special minimal index just for renormalization
545
- merge-ort: use STABLE_QSORT instead of QSORT where required
416
- (this branch uses en/ort-perf-batch-10 and en/ort-perf-batch-9.)
546
+ (this branch is used by en/ort-perf-batch-11; uses en/ort-perf-batch-10 and en/ort-perf-batch-9.)
547
548
Plug the ort merge backend throughout the rest of the system, and
549
start testing it as a replacement for the recursive backend.
@@ -439,30 +569,31 @@ Release tarballs are available at:
569
The resolve and octopus merge strategy backends have been rewritten
570
in C.
571
442
- Ready?
443
-
444
-
445
-* mt/parallel-checkout-part-1 (2021-03-21) 10 commits
446
- - stash: adjust for recent change to entry.h
447
- - entry: add checkout_entry_ca() taking preloaded conv_attrs
448
- - entry: move conv_attrs lookup up to checkout_entry()
449
- - entry: extract update_ce_after_write() from write_entry()
450
- - entry: make fstat_output() and read_blob_entry() public
451
- - entry: extract a header file for entry.c functions
452
- - convert: add classification for conv_attrs struct
453
- - convert: add get_stream_filter_ca() variant
454
- - convert: add [async_]convert_to_working_tree_ca() variants
455
- - convert: make convert_attrs() and convert structs public
572
+ Expecting a (hopefully final) reroll.
573
+ cf. <nycvar.QRO.7.76.6.2103241142220.50@tvgsbejvaqbjf.bet>
574
+
575
+
576
+* mt/parallel-checkout-part-1 (2021-03-23) 9 commits
577
+ (merged to 'next' on 2021-03-30 at e8995d1046)
578
+ + entry: add checkout_entry_ca() taking preloaded conv_attrs
579
+ + entry: move conv_attrs lookup up to checkout_entry()
580
+ + entry: extract update_ce_after_write() from write_entry()
581
+ + entry: make fstat_output() and read_blob_entry() public
582
+ + entry: extract a header file for entry.c functions
583
+ + convert: add classification for conv_attrs struct
584
+ + convert: add get_stream_filter_ca() variant
585
+ + convert: add [async_]convert_to_working_tree_ca() variants
586
+ + convert: make convert_attrs() and convert structs public
587
(this branch is used by mt/parallel-checkout-part-2.)
588
589
Originally merged to 'next' on 2021-03-21
590
591
Preparatory API changes for parallel checkout.
592
462
- Kicked out of 'next' tentatively and wait for a replacement.
593
+ Will merge to 'master'.
594
595
465
-* ab/fsck-api-cleanup (2021-03-17) 19 commits
596
+* ab/fsck-api-cleanup (2021-03-28) 19 commits
597
- fetch-pack: use new fsck API to printing dangling submodules
598
- fetch-pack: use file-scope static struct for fsck_options
599
- fetch-pack: don't needlessly copy fsck_options
@@ -477,14 +608,16 @@ Release tarballs are available at:
608
- fsck.h: move FSCK_{FATAL,INFO,ERROR,WARN,IGNORE} into an enum
609
- fsck.c: refactor fsck_msg_type() to limit scope of "int msg_type"
610
- fsck.c: rename remaining fsck_msg_id "id" to "msg_id"
480
- - fsck.c: move definition of msg_id into append_msg_id()
611
+ - fsck.c: remove (mostly) redundant append_msg_id() function
612
- fsck.c: rename variables in fsck_set_msg_type() for less confusion
613
- fsck.h: use "enum object_type" instead of "int"
614
- fsck.h: use designed initializers for FSCK_OPTIONS_{DEFAULT,STRICT}
615
- fsck.c: refactor and rename common config callback
616
617
Fsck API clean-up.
487
- cf. <20210317182054.5986-1-avarab@gmail.com>
618
+
619
+ Will merge to 'next'?
620
+ cf. <xmqq5z1alnmu.fsf@gitster.g>
621
622
623
* en/ort-perf-batch-9 (2021-03-10) 8 commits
@@ -496,24 +629,12 @@ Release tarballs are available at:
629
- merge-ort: add data structures for an alternate tree traversal
630
- merge-ort: precompute subset of sources for which we need rename detection
631
- diffcore-rename: enable filtering possible rename sources
499
- (this branch is used by en/ort-perf-batch-10 and en/ort-readiness.)
632
+ (this branch is used by en/ort-perf-batch-10, en/ort-perf-batch-11 and en/ort-readiness.)
633
634
The ort merge backend has been optimized by skipping irrelevant
635
renames.
636
504
-
505
-* js/http-pki-credential-store (2021-03-11) 2 commits
506
- (merged to 'next' on 2021-03-22 at 0df16bc9b3)
507
- + http: drop the check for an empty proxy password before approving
508
- + http: store credential when PKI auth is used
509
-
510
- Originally merged to 'next' on 2021-03-19
511
-
512
- The http codepath learned to let the credential layer to cache the
513
- password used to unlock a certificate that has successfully been
514
- used.
515
-
516
- Will merge to 'master'.
637
+ Will merge to 'next'.
638
639
640
* hn/reftable (2021-03-12) 15 commits
@@ -536,88 +657,41 @@ Release tarballs are available at:
657
The "reftable" backend for the refs API.
658
659
539
-* ab/tests-cleanup-around-sha1 (2021-03-10) 4 commits
540
- - tests: get rid of $_x05 from the test suite
541
- - shortlog tests: rewrite to get rid of --abbrev=35 hardcoding
542
- - test-lib: remove unused $_x40 and $_z40 variables
543
- - git-bisect: remove unused SHA-1 $x40 shell variable
544
-
545
- Remove variables that hold regexp and glob that match fixed number
546
- of hexadecimal digits from the test suite.
547
-
548
- Expecting a reroll.
549
- At least the last one weakens a test and should be dropped; there
550
- may be similar breakage due to not understanding what they are
551
- trying to test.
552
-
553
-
554
-* ab/make-cocci-dedup (2021-03-22) 4 commits
555
- - Makefile/coccicheck: set SPATCH_BATCH_SIZE to 8
556
- - Makefile/coccicheck: allow for setting xargs concurrency
557
- - Makefile/coccicheck: speed up and fix bug with duplicate hunks
558
- - Makefile/coccicheck: add comment heading for all SPATCH flags
559
-
560
- Coccicheck update.
561
-
562
- cf. <cover.1616414951.git.avarab@gmail.com>
563
-
564
-
565
-* ab/read-tree (2021-03-20) 8 commits
566
- - tree.h API: simplify read_tree_recursive() signature
567
- - tree.h API: expose read_tree_1() as read_tree_at()
568
- - archive: stop passing "stage" through read_tree_recursive()
569
- - ls-files: refactor away read_tree()
570
- - ls-files: don't needlessly pass around stage variable
571
- - tree.c API: move read_tree() into builtin/ls-files.c
572
- - ls-files tests: add meaningful --with-tree tests
573
- - show tests: add test for "git show <tree>"
574
- (this branch is used by ds/sparse-index and ds/sparse-index-protections.)
575
-
576
- Code simplification by removing support for a caller that is long gone.
577
-
578
- Will merge to 'next'.
579
-
580
-
581
-* ab/unexpected-object-type (2021-03-08) 7 commits
660
+* ab/unexpected-object-type (2021-03-27) 10 commits
661
- tag: don't misreport type of tagged objects in errors
662
- object tests: add test for unexpected objects in tags
663
+ - object.c: add and use oid_is_type_or_die_msg() function
664
- object.c: add a utility function for "expected type X, got Y"
665
- tree.c: fix misindentation in parse_tree_gently()
586
- - oid_object_info(): return "enum object_type"
666
+ - object-name.c: make dependency on object_type order more obvious
667
+ - object-file.c: make oid_object_info() return "enum object_type"
668
- object.c: make type_from_string() return "enum object_type"
669
- object.c: refactor type_from_string_gently()
670
+ - object.c: stop supporting len == -1 in type_from_string_gently()
671
672
Error reporting upon object type mismatch has been improved
673
592
- Expecting a reroll.
593
- Looked good except for some rewrites.
674
+ cf. <YGBL88lYheyFmwCg@coredump.intra.peff.net>
675
+ ... we would be much better off to say something like "somebody
676
+ expected X to be a commit, but now somebody else expects it to be a
677
+ blob", which is all that we can reliably say.
678
679
680
* ah/plugleaks (2021-03-21) 9 commits
597
- - transport: also free remote_refs in transport_disconnect()
598
- - parse-options: don't leak alias help messages
599
- - parse-options: convert bitfield values to use binary shift
600
- - init-db: silence template_dir leak when converting to absolute path
601
- - init: remove git_init_db_config() while fixing leaks
602
- - worktree: fix leak in dwim_branch()
603
- - clone: free or UNLEAK further pointers when finished
604
- - reset: free instead of leaking unneeded ref
605
- - symbolic-ref: don't leak shortened refname in check_symref()
681
+ (merged to 'next' on 2021-03-30 at 78636ede89)
682
+ + transport: also free remote_refs in transport_disconnect()
683
+ + parse-options: don't leak alias help messages
684
+ + parse-options: convert bitfield values to use binary shift
685
+ + init-db: silence template_dir leak when converting to absolute path
686
+ + init: remove git_init_db_config() while fixing leaks
687
+ + worktree: fix leak in dwim_branch()
688
+ + clone: free or UNLEAK further pointers when finished
689
+ + reset: free instead of leaking unneeded ref
690
+ + symbolic-ref: don't leak shortened refname in check_symref()
691
692
Plug or annotate remaining leaks that trigger while running the
693
very basic set of tests.
694
610
- Ready?
611
-
612
-
613
-* tb/push-simple-uses-branch-merge-config (2021-03-13) 1 commit
614
- (merged to 'next' on 2021-03-22 at bec0a72090)
615
- + Documentation/git-push.txt: correct configuration typo
616
-
617
- Originally merged to 'next' on 2021-03-19
618
-
619
- Doc update.
620
-
695
Will merge to 'master'.
696
697
@@ -639,32 +713,17 @@ Release tarballs are available at:
713
cf. <xmqq1rcj6hzr.fsf@gitster.g>
714
715
642
-* zh/format-patch-fractional-reroll-count (2021-03-21) 1 commit
643
- - format-patch: allow a non-integral version numbers
716
+* zh/format-patch-fractional-reroll-count (2021-03-23) 1 commit
717
+ (merged to 'next' on 2021-03-26 at 3c29ec9a02)
718
+ + format-patch: allow a non-integral version numbers
719
720
"git format-patch -v<n>" learned to allow a reroll count that is
721
not an integer.
722
648
- Will merge to 'next'.
649
-
650
-
651
-* ab/make-cleanup (2021-02-23) 5 commits
652
- (merged to 'next' on 2021-03-22 at e9e16c9fc4)
653
- + Makefile: add {program,xdiff,test,git,fuzz}-objs & objects targets
654
- + Makefile: split OBJECTS into OBJECTS and GIT_OBJS
655
- + Makefile: sort OBJECTS assignment for subsequent change
656
- + Makefile: split up long OBJECTS line
657
- + Makefile: guard against TEST_OBJS in the environment
658
-
659
- Originally merged to 'next' on 2021-03-19
660
-
661
- Reorganize Makefile to allow building git.o and other essential
662
- objects without extra stuff needed only for testing.
663
-
723
Will merge to 'master'.
724
725
667
-* tb/reverse-midx (2021-03-11) 17 commits
726
+* tb/reverse-midx (2021-03-30) 17 commits
727
- midx.c: improve cache locality in midx_pack_order_cmp()
728
- pack-revindex: write multi-pack reverse indexes
729
- pack-write.c: extract 'write_rev_file_order'
@@ -686,7 +745,7 @@ Release tarballs are available at:
745
An on-disk reverse-index to map the in-pack location of an object
746
back to its object name across multiple packfiles is introduced.
747
689
- Ready???
748
+ Will merge to 'next'.
749
750
751
* ab/pickaxe-pcre2 (2021-02-18) 24 commits
@@ -718,116 +777,27 @@ Release tarballs are available at:
777
Rewrite the backend for "diff -G/-S" to use pcre2 engine when
778
available.
779
721
- Ready???
722
-
723
-
724
-* cm/rebase-i-fixup-amend-reword (2021-03-15) 6 commits
725
- (merged to 'next' on 2021-03-22 at 6335e70b5e)
726
- + doc/git-commit: add documentation for fixup=[amend|reword] options
727
- + t3437: use --fixup with options to create amend! commit
728
- + t7500: add tests for --fixup=[amend|reword] options
729
- + commit: add a reword suboption to --fixup
730
- + commit: add amend suboption to --fixup to create amend! commit
731
- + sequencer: export and rename subject_length()
732
- (this branch uses cm/rebase-i and cm/rebase-i-updates.)
733
-
734
- Originally merged to 'next' on 2021-03-19
735
-
736
- "git commit --fixup=<commit>", which was to tweak the changes made
737
- to the contents while keeping the original log message intact,
738
- learned "--fixup=(amend|reword):<commit>", that can be used to
739
- tweak both the message and the contents, and only the message,
740
- respectively.
741
-
742
- Will merge to 'master'.
743
-
744
-
745
-* cm/rebase-i-updates (2021-02-10) 11 commits
746
- (merged to 'next' on 2021-03-22 at 067e2829d9)
747
- + doc/rebase -i: fix typo in the documentation of 'fixup' command
748
- + t/t3437: fixup the test 'multiple fixup -c opens editor once'
749
- + t/t3437: use named commits in the tests
750
- + t/t3437: simplify and document the test helpers
751
- + t/t3437: check the author date of fixed up commit
752
- + t/t3437: remove the dependency of 'expected-message' file from tests
753
- + t/t3437: fixup here-docs in the 'setup' test
754
- + t/lib-rebase: update the documentation of FAKE_LINES
755
- + rebase -i: clarify and fix 'fixup -c' rebase-todo help
756
- + sequencer: rename a few functions
757
- + sequencer: fixup the datatype of the 'flag' argument
758
- (this branch is used by cm/rebase-i-fixup-amend-reword; uses cm/rebase-i.)
759
-
760
- Originally merged to 'next' on 2021-02-12
761
-
762
- Follow-up fixes to "cm/rebase-i" topic.
763
-
764
- Will merge to 'master'.
780
+ Needs (hopefully the final round of) review.
781
782
783
* jh/simple-ipc (2021-03-22) 12 commits
768
- - t0052: add simple-ipc tests and t/helper/test-simple-ipc tool
769
- - simple-ipc: add Unix domain socket implementation
770
- - unix-stream-server: create unix domain socket under lock
771
- - unix-socket: disallow chdir() when creating unix domain sockets
772
- - unix-socket: add backlog size option to unix_stream_listen()
773
- - unix-socket: eliminate static unix_stream_socket() helper function
774
- - simple-ipc: add win32 implementation
775
- - simple-ipc: design documentation for new IPC mechanism
776
- - pkt-line: add options argument to read_packetized_to_strbuf()
777
- - pkt-line: add PACKET_READ_GENTLE_ON_READ_ERROR option
778
- - pkt-line: do not issue flush packets in write_packetized_*()
779
- - pkt-line: eliminate the need for static buffer in packet_write_gently()
784
+ (merged to 'next' on 2021-03-24 at 3ebcedf89a)
785
+ + t0052: add simple-ipc tests and t/helper/test-simple-ipc tool
786
+ + simple-ipc: add Unix domain socket implementation
787
+ + unix-stream-server: create unix domain socket under lock
788
+ + unix-socket: disallow chdir() when creating unix domain sockets
789
+ + unix-socket: add backlog size option to unix_stream_listen()
790
+ + unix-socket: eliminate static unix_stream_socket() helper function
791
+ + simple-ipc: add win32 implementation
792
+ + simple-ipc: design documentation for new IPC mechanism
793
+ + pkt-line: add options argument to read_packetized_to_strbuf()
794
+ + pkt-line: add PACKET_READ_GENTLE_ON_READ_ERROR option
795
+ + pkt-line: do not issue flush packets in write_packetized_*()
796
+ + pkt-line: eliminate the need for static buffer in packet_write_gently()
797
798
A simple IPC interface gets introduced to build services like
799
fsmonitor on top.
800
784
- Will merge to 'next'.
785
-
786
-
787
-* cm/rebase-i (2021-01-29) 9 commits
788
- (merged to 'next' on 2021-03-22 at d5612f5a75)
789
- + doc/git-rebase: add documentation for fixup [-C|-c] options
790
- + rebase -i: teach --autosquash to work with amend!
791
- + t3437: test script for fixup [-C|-c] options in interactive rebase
792
- + rebase -i: add fixup [-C | -c] command
793
- + sequencer: use const variable for commit message comments
794
- + sequencer: pass todo_item to do_pick_commit()
795
- + rebase -i: comment out squash!/fixup! subjects from squash message
796
- + sequencer: factor out code to append squash message
797
- + rebase -i: only write fixup-message when it's needed
798
- (this branch is used by cm/rebase-i-fixup-amend-reword and cm/rebase-i-updates.)
799
-
800
- Originally merged to 'next' on 2021-02-01
801
-
802
- "rebase -i" is getting cleaned up and also enhanced.
803
-
804
- Will merge to 'master'.
805
-
806
-
807
-* tb/geometric-repack (2021-03-19) 14 commits
808
- (merged to 'next' on 2021-03-22 at 8147f00207)
809
- + builtin/pack-objects.c: ignore missing links with --stdin-packs
810
- + builtin/repack.c: reword comment around pack-objects flags
811
- + builtin/repack.c: be more conservative with unsigned overflows
812
- + builtin/repack.c: assign pack split later
813
- + t7703: test --geometric repack with loose objects
814
- + builtin/repack.c: do not repack single packs with --geometric
815
- + builtin/repack.c: add '--geometric' option
816
- + packfile: add kept-pack cache for find_kept_pack_entry()
817
- + builtin/pack-objects.c: rewrite honor-pack-keep logic
818
- + p5303: measure time to repack with keep
819
- + p5303: add missing &&-chains
820
- + builtin/pack-objects.c: add '--stdin-packs' option
821
- + revision: learn '--no-kept-objects'
822
- + packfile: introduce 'find_kept_pack_entry()'
823
-
824
- Originally merged to 'next' on 2021-03-08
825
-
826
- "git repack" so far has been only capable of repacking everything
827
- under the sun into a single pack (or split by size). A cleverer
828
- strategy to reduce the cost of repacking a repository has been
829
- introduced.
830
-
801
Will merge to 'master'.
802
803
@@ -877,113 +847,27 @@ Release tarballs are available at:
847
--------------------------------------------------
848
[Discarded]
849
880
-* cw/pack-vs-bigfilethreashold (2021-02-09) 2 commits
881
- . fixup! doc: mention bigFileThreshold for packing
882
- . doc: mention bigFileThreshold for packing
850
+* ab/make-cocci-dedup (2021-03-22) 4 commits
851
+ . Makefile/coccicheck: set SPATCH_BATCH_SIZE to 8
852
+ . Makefile/coccicheck: allow for setting xargs concurrency
853
+ . Makefile/coccicheck: speed up and fix bug with duplicate hunks
854
+ . Makefile/coccicheck: add comment heading for all SPATCH flags
855
884
- Doc update.
856
+ Coccicheck update.
857
+
858
+ Retracted.
859
+ cf. <cover.1616414951.git.avarab@gmail.com>
860
+ cf. <87k0psnzv5.fsf@evledraar.gmail.com>
861
+
862
+
863
+* ab/tests-cleanup-around-sha1 (2021-03-10) 4 commits
864
+ - tests: get rid of $_x05 from the test suite
865
+ - shortlog tests: rewrite to get rid of --abbrev=35 hardcoding
866
+ - test-lib: remove unused $_x40 and $_z40 variables
867
+ - git-bisect: remove unused SHA-1 $x40 shell variable
868
+
869
+ Remove variables that hold regexp and glob that match fixed number
870
+ of hexadecimal digits from the test suite.
871
886
- cw/pack-config-doc supersedes this with a bit more coverage on
887
- related knobs.
888
-
889
-
890
-* jh/simple-ipc-cleanups (2021-03-04) 9 commits
891
- - SQUASH???
892
- - simple-ipc: update design documentation with more details
893
- - test-simple-ipc: add --token=<token> string option
894
- - test-simple-ipc: refactor command line option processing in helper
895
- - unix-stream-server: add st_dev and st_mode to socket stolen checks
896
- - simple-ipc: move error handling up a level
897
- - unix-stream-server: create unix-stream-server.c
898
- - unix-socket: simplify initialization of unix_stream_listen_opts
899
- - pkt-line: remove buffer arg from write_packetized_from_fd_no_flush()
900
-
901
- After kicking jh/simple-ipc out of 'next' and rewinding
902
- jh/simple-ipc to contain the incremental clean-up in this follow-up
903
- topic, it is no longer needed, hence retired.
904
-
905
-
906
-* es/config-hooks-part-1 (2021-02-16) 17 commits
907
- . hooks: allow callers to capture output
908
- . run-command: allow capturing of collated output
909
- . hook: provide stdin by string_list or callback
910
- . run-command: add stdin callback for parallelization
911
- . hook: allow specifying working directory for hooks
912
- . hook: allow parallel hook execution
913
- . run-command: allow stdin for run_processes_parallel
914
- . hook: support passing stdin to hooks
915
- . hook: replace find_hook() with hook_exists()
916
- . hook: add 'run' subcommand
917
- . parse-options: parse into strvec
918
- . hook: implement hookcmd.<name>.skip
919
- . hook: respect hook.runHookDir
920
- . hook: include hookdir hook in list
921
- . hook: add list command
922
- . hook: scaffolding for git-hook subcommand
923
- . doc: propose hooks managed by the config
924
-
925
- Now replaced by es/config-hooks topic.
926
-
927
-
928
-* jk/symlinked-dotgitx-files (2020-10-23) 9 commits
929
- . docs: document symlink restrictions for .git* files
930
- . fsck: complain when .gitattributes or .gitignore is a symlink
931
- . verify_path(): disallow symlinks in .gitattributes and .gitignore
932
- . t0060: test obscured .gitattributes and .gitignore matching
933
- . t7450: test .gitmodules symlink matching against obscured names
934
- . t7450: test verify_path() handling of gitmodules
935
- . t7415: rename to expand scope
936
- . fsck_tree(): wrap some long lines
937
- . fsck_tree(): fix shadowed variable
938
-
939
- "git fsck" and the corresponding check done during the transport
940
- learned to ensure that in-tree files like `.gitignore` and
941
- `.gitattributes` are not symbolic links.
942
-
943
- It seems that there are real projects with .gitignore recorded as
944
- symlinks, which may need to loosen the fsck setting. Do we need to
945
- introduce a class that is separate from symlinked .gitmodules that
946
- has potential consequences that is more/less grave, so that these
947
- projects can opt out of the new checks?
948
-
949
-
950
-* ab/tree-walk-with-object-type (2021-03-17) 32 commits
951
- . tree-walk.h API: add a tree_entry_extract_type() function
952
- . blame: emit a better error on 'git blame directory'
953
- . tree-walk.h API: add a get_tree_entry_path() function
954
- . tree-walk.h API: add get_tree_entry_all()
955
- . tree-walk.h API: add a tree_entry_extract_all() function
956
- . tree-entry.h API: rename tree_entry_extract() to tree_entry_extract_mode()
957
- . tree-walk.h API: document and format tree_entry_extract()
958
- . tree-walk.h API: add get_tree_entry_type()
959
- . match-trees: use "tmp" for mode in shift_tree_by()
960
- . tree-walk.h API: rename get_tree_entry() to get_tree_entry_mode()
961
- . tree-walk.h API: formatting changes for subsequent commit
962
- . tree-walk.h users: use temporary variable(s) for "mode"
963
- . fsck.c: switch on "object_type" in fsck_walk_tree()
964
- . merge-ort: correct reference to test in 62fdec17a11
965
- . merge-tree tests: test for the mode comparison in same_entry()
966
- . tree-walk.h users: migrate miscellaneous "mode" to "object_type"
967
- . tree-walk.h users: refactor chained "mode" if/else into switch
968
- . tree-walk.h users: migrate "p->mode &&" pattern
969
- . tree.h API: make read_tree_fn_t take an "enum object_type"
970
- . archive: get rid of 'stage' parameter
971
- . tree.h users: format argument lists in archive.c
972
- . tree.h: format argument lists of read_tree_recursive() users
973
- . tree-walk.h users: switch object_type(...) to new .object_type
974
- . cache.h: have base_name_compare() take "is tree?", not "mode"
975
- . diff tests: test that "mode" is passed when sorting
976
- . mktree tests: test that "mode" is passed when sorting
977
- . fast-import tests: test for sorting dir/file foo v.s. foo.txt
978
- . tree-walk.c: migrate to using new "object_type" field when possible
979
- . tree-walk.h: add object_type member to name_entry
980
- . cache.h: add a comment to object_type()
981
- . notes & match-trees: use name_entry's "pathlen" member
982
- . diff.c: remove redundant canon_mode() call
983
- (this branch uses ab/read-tree.)
984
-
985
- Code clean-up.
986
-
987
- I am not exactly sure where this series wants to go, other than
988
- unnecessarily churning the code. Seems to break "diff --no-index"
989
- rather badly, too (e.g. t4050, t4002, among others).
872
+ Retracted, to be replaced by another series.
873
+ cf. <878s67o09v.fsf@evledraar.gmail.com>