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>