What's cooking (2021/03 #01)

Junio C Hamano committed Mar 2, 2021 at 23:07 UTC 370046e5e5b3a8603e7ea3137d5f271660296157
1 file changed +653 -687
whats-cooking.txt
+653 -687
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Feb 2021, #04; Thu, 18)
4 -X-master-at: 2283e0e9af55689215afa39c03beb2315ce18e83
5 -X-next-at: b4fecdf3b781fae907790b59fd149f0dae8f8df6
3 +Subject: What's cooking in git.git (Mar 2021, #01; Tue, 2)
4 +X-master-at: f01623b2c9d14207e497b21ebc6b3ec4afaf4b46
5 +X-next-at: b75b4e4ce211a6bec04cdfcb7eadec68c4e7c388
6
7 -What's cooking in git.git (Feb 2021, #04; Thu, 18)
7 +What's cooking in git.git (Mar 2021, #01; Tue, 2)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with '-' are
@@ -12,7 +12,7 @@ only in 'seen' (formerly 'pu'---proposed updates) while commits prefixed
12 with '+' are in 'next'. The ones marked with '.' do not appear in any of
13 the integration branches, but I am still holding onto them.
14
15 -The ninth batch of topics are in 'master'.
15 +A release candidate Git v2.31.0-rc1 has been tagged.
16
17 Copies of the source code to Git live in many repositories, and the
18 following is a list of the ones I push into or their mirrors. Some
@@ -45,338 +45,327 @@ Release tarballs are available at:
45 --------------------------------------------------
46 [Graduated to 'master']
47
48 -* ak/config-bad-bool-error (2021-02-11) 1 commit
49 - (merged to 'next' on 2021-02-12 at 76784be663)
50 - + config: improve error message for boolean config
51 -
52 - The error message given when a configuration variable that is
53 - expected to have a boolean value has been improved.
48 +* ab/detox-gettext-tests (2021-02-10) 4 commits
49 + (merged to 'next' on 2021-02-17 at bd3d771557)
50 + + tests: remove most uses of test_i18ncmp
51 + + tests: remove last uses of C_LOCALE_OUTPUT
52 + + tests: remove most uses of C_LOCALE_OUTPUT
53 + + tests: remove last uses of GIT_TEST_GETTEXT_POISON=false
54
55 + Removal of GIT_TEST_GETTEXT_POISON continues.
56
56 -* ak/corrected-commit-date (2021-01-18) 11 commits
57 - (merged to 'next' on 2021-01-26 at deae33ec7d)
58 - + doc: add corrected commit date info
59 - + commit-reach: use corrected commit dates in paint_down_to_common()
60 - + commit-graph: use generation v2 only if entire chain does
61 - + commit-graph: implement generation data chunk
62 - + commit-graph: implement corrected commit date
63 - + commit-graph: return 64-bit generation number
64 - + commit-graph: add a slab to store topological levels
65 - + t6600-test-reach: generalize *_three_modes
66 - + commit-graph: consolidate fill_commit_graph_info
67 - + revision: parse parent in indegree_walk_step()
68 - + commit-graph: fix regression when computing Bloom filters
69 - (this branch is used by ds/chunked-file-api, ds/commit-graph-genno-fix and ds/merge-base-independent.)
57
71 - The commit-graph learned to use corrected commit dates instead of
72 - the generation number to help topological revision traversal.
58 +* ab/diff-deferred-free (2021-02-11) 2 commits
59 + (merged to 'next' on 2021-02-12 at 5e24106122)
60 + + diff: plug memory leak from regcomp() on {log,diff} -I
61 + + diff: add an API for deferred freeing
62
74 - Will merge to 'master', together with "ds/commit-graph-genno-fix".
63 + A small memleak in "diff -I<regexp>" has been corrected.
64
65
77 -* ds/commit-graph-genno-fix (2021-02-01) 6 commits
78 - (merged to 'next' on 2021-02-03 at b3a9e11efb)
79 - + commit-graph: prepare commit graph
80 - + commit-graph: be extra careful about mixed generations
81 - + commit-graph: compute generations separately
82 - + commit-graph: validate layers for generation data
83 - + commit-graph: always parse before commit_graph_data_at()
84 - + commit-graph: use repo_parse_commit
85 - (this branch uses ak/corrected-commit-date; is tangled with ds/chunked-file-api and ds/merge-base-independent.)
66 +* ab/pager-exit-log (2021-02-01) 4 commits
67 + (merged to 'next' on 2021-02-12 at ffe9f2d364)
68 + + pager: properly log pager exit code when signalled
69 + + run-command: add braces for "if" block in wait_or_whine()
70 + + pager: test for exit code with and without SIGPIPE
71 + + pager: refactor wait_for_pager() function
72
87 - Fix incremental update of commit-graph file around corrected commit
88 - date data.
73 + When a pager spawned by us exited, the trace log did not record its
74 + exit status correctly, which has been corrected.
75 + The original "what should we do with SIGPIPE?" question remains, though.
76
90 - Will merge to 'master', together with "ak/corrected-commit-date".
77
78 +* ab/test-lib (2021-02-12) 11 commits
79 + (merged to 'next' on 2021-02-12 at 666a0422dc)
80 + + test-lib-functions: assert correct parameter count
81 + + test-lib-functions: remove bug-inducing "diagnostics" helper param
82 + + test libs: rename "diff-lib" to "lib-diff"
83 + + t/.gitattributes: sort lines
84 + + test-lib-functions: move function to lib-bitmap.sh
85 + + test libs: rename gitweb-lib.sh to lib-gitweb.sh
86 + + test libs: rename bundle helper to "lib-bundle.sh"
87 + + test-lib-functions: remove generate_zero_bytes() wrapper
88 + + test-lib-functions: move test_set_index_version() to its user
89 + + test lib: change "error" to "BUG" as appropriate
90 + + test-lib: remove check_var_migration
91 + (this branch is used by ab/pickaxe-pcre2.)
92
93 -* ds/maintenance-pack-refs (2021-02-09) 2 commits
94 - (merged to 'next' on 2021-02-11 at 36f56bc9ec)
95 - + maintenance: incremental strategy runs pack-refs weekly
96 - + maintenance: add pack-refs task
93 + Test framework clean-up.
94
98 - "git maintenance" tool learned a new "pack-refs" maintenance task.
95
96 +* ah/commit-graph-leakplug (2021-02-22) 1 commit
97 + (merged to 'next' on 2021-02-22 at 1330b452db)
98 + + commit-graph: avoid leaking topo_levels slab in write_commit_graph()
99
101 -* ew/rev-parse-since-test (2021-02-10) 1 commit
102 - (merged to 'next' on 2021-02-11 at 2490918be8)
103 - + t1500: ensure current --since= behavior remains
100 + Plug a minor memory leak.
101
105 - Test to make sure "git rev-parse one-thing one-thing" gives
106 - the same thing twice (when one-thing is --since=X).
102
103 +* ah/rebase-no-fork-point-config (2021-02-24) 1 commit
104 + (merged to 'next' on 2021-02-24 at 8e56891909)
105 + + rebase: add a config option for --no-fork-point
106
109 -* jk/mailmap-only-at-root (2021-02-10) 1 commit
110 - (merged to 'next' on 2021-02-10 at fbd122fd6c)
111 - + mailmap: only look for .mailmap in work tree
107 + "git rebase --[no-]fork-point" gained a configuration variable
108 + rebase.forkPoint so that users do not have to keep specifying a
109 + non-default setting.
110
113 - The .mailmap is documented to be read only from the root level of a
114 - working tree, but a stray file in a bare repository also was read
115 - by accident, which has been corrected.
111
112 +* bc/signed-objects-with-both-hashes (2021-02-10) 6 commits
113 + (merged to 'next' on 2021-02-11 at 391cc85104)
114 + + gpg-interface: remove other signature headers before verifying
115 + + ref-filter: hoist signature parsing
116 + + commit: allow parsing arbitrary buffers with headers
117 + + gpg-interface: improve interface for parsing tags
118 + + commit: ignore additional signatures when parsing signed commits
119 + + ref-filter: switch some uses of unsigned long to size_t
120
118 -* js/commit-graph-warning (2021-02-11) 1 commit
119 - (merged to 'next' on 2021-02-12 at e9faad550a)
120 - + commit-graph: when incompatible with graphs, indicate why
121 + Signed commits and tags now allow verification of objects, whose
122 + two object names (one in SHA-1, the other in SHA-256) are both
123 + signed.
124
122 - When certain features (e.g. grafts) used in the repository are
123 - incompatible with the use of the commit-graph, we used to silently
124 - turned commit-graph off; we now tell the user what we are doing.
125
126 +* cw/pack-config-doc (2021-02-22) 1 commit
127 + (merged to 'next' on 2021-02-22 at cfd2f5ccd1)
128 + + doc: mention bigFileThreshold for packing
129
127 -* js/fsck-name-objects-fix (2021-02-10) 2 commits
128 - (merged to 'next' on 2021-02-10 at 79afd7ebdc)
129 - + fsck --name-objects: be more careful parsing generation numbers
130 - + t1450: robustify `remove_object()`
130 + Doc update.
131
132 - Fix "git fsck --name-objects" which apparently has not been used by
133 - anybody who is motivated enough to report breakage.
132
133 +* dl/doc-config-camelcase (2021-02-24) 3 commits
134 + (merged to 'next' on 2021-02-24 at 5315e84c47)
135 + + index-format doc: camelCase core.excludesFile
136 + + blame-options.txt: camelcase blame.blankBoundary
137 + + i18n.txt: camel case and monospace "i18n.commitEncoding"
138
136 -* js/range-diff-one-side-only (2021-02-06) 6 commits
137 - (merged to 'next' on 2021-02-08 at 8c35ed8523)
138 - + range-diff: offer --left-only/--right-only options
139 - + range-diff: move the diffopt initialization down one layer
140 - + range-diff: combine all options in a single data structure
141 - + range-diff: simplify code spawning `git log`
142 - + range-diff: libify the read_patches() function again
143 - + range-diff: avoid leaking memory in two error code paths
139 + A handful of multi-word configuration variable names in
140 + documentation that are spelled in all lowercase have been corrected
141 + to use the more canonical camelCase.
142
145 - The "git range-diff" command learned "--(left|right)-only" option
146 - to show only one side of the compared range.
143
144 +* dl/stash-cleanup (2021-02-11) 7 commits
145 + (merged to 'next' on 2021-02-11 at ae1cde1380)
146 + + stash: declare ref_stash as an array
147 + + t3905: use test_cmp() to check file contents
148 + + t3905: replace test -s with test_file_not_empty
149 + + t3905: remove nested git in command substitution
150 + + t3905: move all commands into test cases
151 + + t3905: remove spaces after redirect operators
152 + + git-stash.txt: be explicit about subcommand options
153 + (this branch is used by dl/stash-show-untracked.)
154
149 -* js/range-diff-wo-dotdot (2021-02-06) 3 commits
150 - (merged to 'next' on 2021-02-08 at 9ae8b46d99)
151 - + range-diff(docs): explain how to specify commit ranges
152 - + range-diff/format-patch: handle commit ranges other than A..B
153 - + range-diff/format-patch: refactor check for commit range
155 + Documentation, code and test clean-up around "git stash".
156 + This is an early part of a topic that added a new feature to the
157 + command, but the implementation is expected to need a handful of
158 + iterations; I split the preparatory part up to fast-track it.
159
155 - There are other ways than ".." for a single token to denote a
156 - "commit range", namely "<rev>^!" and "<rev>^-<n>", but "git
157 - range-diff" did not understand them.
160
161 +* ds/chunked-file-api (2021-02-24) 18 commits
162 + (merged to 'next' on 2021-02-24 at 6002da063c)
163 + + commit-graph.c: display correct number of chunks when writing
164 + (merged to 'next' on 2021-02-22 at 5f0e28cfb2)
165 + + chunk-format: add technical docs
166 + + chunk-format: restore duplicate chunk checks
167 + + midx: use 64-bit multiplication for chunk sizes
168 + + midx: use chunk-format read API
169 + + commit-graph: use chunk-format read API
170 + + chunk-format: create read chunk API
171 + + midx: use chunk-format API in write_midx_internal()
172 + + midx: drop chunk progress during write
173 + + midx: return success/failure in chunk write methods
174 + + midx: add num_large_offsets to write_midx_context
175 + + midx: add pack_perm to write_midx_context
176 + + midx: add entries to write_midx_context
177 + + midx: use context in write_midx_pack_names()
178 + + midx: rename pack_info to write_midx_context
179 + + commit-graph: use chunk-format write API
180 + + chunk-format: create chunk format write API
181 + + commit-graph: anonymize data in chunk_write_fn
182 + (this branch is used by ds/commit-graph-generation-config and tb/reverse-midx.)
183
160 -* js/reflog-expire-stale-fix (2021-02-11) 1 commit
161 - (merged to 'next' on 2021-02-12 at 899034efca)
162 - + reflog expire --stale-fix: be generous about missing objects
184 + The common code to deal with "chunked file format" that is shared
185 + by the multi-pack-index and commit-graph files have been factored
186 + out, to help codepaths for both filetypes to become more robust.
187
164 - "git reflog expire --stale-fix" can be used to repair the reflog by
165 - removing entries that refer to objects that have been pruned away,
166 - but was not careful to tolerate missing objects.
188
189 +* ds/merge-base-independent (2021-02-22) 5 commits
190 + (merged to 'next' on 2021-02-24 at 9fad5352ea)
191 + + commit-reach: stale commits may prune generation further
192 + + commit-reach: use heuristic in remove_redundant()
193 + + commit-reach: move compare_commits_by_gen
194 + + commit-reach: use one walk in remove_redundant()
195 + + commit-reach: reduce requirements for remove_redundant()
196
169 -* jt/clone-unborn-head (2021-02-05) 3 commits
170 - (merged to 'next' on 2021-02-08 at 3ba9f80e7f)
171 - + clone: respect remote unborn HEAD
172 - + connect, transport: encapsulate arg in struct
173 - + ls-refs: report unborn targets of symrefs
197 + The code to implement "git merge-base --independent" was poorly
198 + done and was kept from the very beginning of the feature.
199
175 - "git clone" tries to locally check out the branch pointed at by
176 - HEAD of the remote repository after it is done, but the protocol
177 - did not convey the information necessary to do so when copying an
178 - empty repository. The protocol v2 learned how to do so.
200
201 +* en/diffcore-rename (2021-02-15) 8 commits
202 + (merged to 'next' on 2021-02-22 at 243d0182da)
203 + + merge-ort: call diffcore_rename() directly
204 + + gitdiffcore doc: mention new preliminary step for rename detection
205 + + diffcore-rename: guide inexact rename detection based on basenames
206 + + diffcore-rename: complete find_basename_matches()
207 + + diffcore-rename: compute basenames of source and dest candidates
208 + + t4001: add a test comparing basename similarity and content similarity
209 + + diffcore-rename: filter rename_src list when possible
210 + + diffcore-rename: no point trying to find a match better than exact
211
181 -* jt/trace2-BUG (2021-02-09) 1 commit
182 - (merged to 'next' on 2021-02-09 at 94911ad676)
183 - + usage: trace2 BUG() invocations
212 + Performance optimization work on the rename detection continues.
213
185 - Even though invocations of "die()" were logged to the trace2
186 - system, "BUG()"s were not, which has been corrected.
214
215 +* es/maintenance-of-bare-repositories (2021-02-23) 1 commit
216 + (merged to 'next' on 2021-02-24 at 73a40e23b3)
217 + + maintenance: fix incorrect `maintenance.repo` path with bare repository
218
189 -* jx/t5411-unique-filenames (2021-01-22) 2 commits
190 - (merged to 'next' on 2021-02-11 at bc5c67f70f)
191 - + t5411: refactor check of refs using test_cmp_refs
192 - + t5411: use different out file to prevent overwriting
219 + The "git maintenance register" command had trouble registering bare
220 + repositories, which had been corrected.
221
194 - Avoid individual tests in t5411 from getting affected by each other
195 - by forcing them to use separate output files during the test.
222
223 +* hn/reftable-tables-doc-update (2021-02-23) 1 commit
224 + (merged to 'next' on 2021-02-25 at cfeadb4945)
225 + + doc/reftable: document how to handle windows
226
198 -* mr/bisect-in-c-4 (2021-02-03) 7 commits
199 - (merged to 'next' on 2021-02-05 at ea18026619)
200 - + bisect--helper: retire `--check-and-set-terms` subcommand
201 - + bisect--helper: reimplement `bisect_skip` shell function in C
202 - + bisect--helper: retire `--bisect-auto-next` subcommand
203 - + bisect--helper: use `res` instead of return in BISECT_RESET case option
204 - + bisect--helper: retire `--bisect-write` subcommand
205 - + bisect--helper: reimplement `bisect_replay` shell function in C
206 - + bisect--helper: reimplement `bisect_log` shell function in C
227 + Documentation update.
228
208 - Piecemeal of rewrite of "git bisect" in C continues.
229
230 +* hv/trailer-formatting (2021-02-15) 4 commits
231 + (merged to 'next' on 2021-02-25 at 7d1d5ecf59)
232 + + ref-filter: use pretty.c logic for trailers
233 + + pretty.c: capture invalid trailer argument
234 + + pretty.c: refactor trailer logic to `format_set_trailers_options()`
235 + + t6300: use function to test trailer options
236
211 -* mt/grep-cached-untracked (2021-02-09) 1 commit
212 - (merged to 'next' on 2021-02-10 at e1fca79104)
213 - + grep: error out if --untracked is used with --cached
237 + The logic to handle "trailer" related placeholders in the
238 + "--format=" mechanisms in the "log" family and "for-each-ref"
239 + family is getting unified.
240
215 - "git grep --untracked" is meant to be "let's ALSO find in these
216 - files on the filesystem" when looking for matches in the working
217 - tree files, and does not make any sense if the primary search is
218 - done against the index, or the tree objects. The "--cached" and
219 - "--untracked" options have been marked as mutually incompatible.
241
242 +* jc/diffcore-rotate (2021-02-16) 1 commit
243 + (merged to 'next' on 2021-02-22 at f17c341d20)
244 + + diff: --{rotate,skip}-to=<path>
245 + (this branch is used by zh/difftool-skip-to.)
246
222 -* sh/mergetool-hideresolved (2021-02-09) 3 commits
223 - (merged to 'next' on 2021-02-09 at c3ed19b2ec)
224 - + mergetool: add per-tool support and overrides for the hideResolved flag
225 - + mergetool: break setup_tool out into separate initialization function
226 - + mergetool: add hideResolved configuration
247 + "git {diff,log} --{skip,rotate}-to=<path>" allows the user to
248 + discard diff output for early paths or move them to the end of the
249 + output.
250
228 - "git mergetool" feeds three versions (base, local and remote) of
229 - a conflicted path unmodified. The command learned to optionally
230 - prepare these files with unconflicted parts already resolved.
251
232 ---------------------------------------------------
233 -[New Topics]
252 +* jc/maint-column-doc-typofix (2021-02-19) 1 commit
253 + (merged to 'next' on 2021-02-22 at d927f64824)
254 + + Documentation: typofix --column description
255
235 -* ab/fsck-api-cleanup (2021-02-18) 10 commits
236 - - fsck.h: update FSCK_OPTIONS_* for object_name
237 - - fsck.c: give "FOREACH_MSG_ID" a more specific name
238 - - fsck.c: undefine temporary STR macro after use
239 - - fsck.c: call parse_msg_type() early in fsck_set_msg_type()
240 - - fsck.h: move FSCK_{FATAL,INFO,ERROR,WARN,IGNORE} into an enum
241 - - fsck.c: rename remaining fsck_msg_id "id" to "msg_id"
242 - - fsck.c: move definition of msg_id into append_msg_id()
243 - - fsck.c: rename variables in fsck_set_msg_type() for less confusion
244 - - fsck.h: use "enum object_type" instead of "int"
245 - - fsck.h: indent arguments to of fsck_set_msg_type
256 + Doc update.
257
247 - Preliminary fsck API clean-up.
258
249 - Expecting a reroll.
250 - cf. <xmqqczwxc8bw.fsf@gitster.g>
251 - Looking good.
259 +* jc/push-delete-nothing (2021-02-23) 1 commit
260 + (merged to 'next' on 2021-02-24 at 9d5481ea10)
261 + + push: do not turn --delete '' into a matching push
262
263 + "git push $there --delete ''" should have been diagnosed as an
264 + error, but instead turned into a matching push, which has been
265 + corrected.
266
254 -* ab/grep-pcre2-allocfix (2021-02-17) 10 commits
255 - - grep/pcre2: move definitions of pcre2_{malloc,free}
256 - - grep/pcre2: move back to thread-only PCREv2 structures
257 - - grep/pcre2: actually make pcre2 use custom allocator
258 - - grep/pcre2: use pcre2_maketables_free() function
259 - - grep/pcre2: use compile-time PCREv2 version test
260 - - grep/pcre2: add GREP_PCRE2_DEBUG_MALLOC debug mode
261 - - grep/pcre2: prepare to add debugging to pcre2_malloc()
262 - - grep/pcre2: correct reference to grep_init() in comment
263 - - grep/pcre2: drop needless assignment to NULL
264 - - grep/pcre2: drop needless assignment + assert() on opt->pcre2
267
266 - Updates to memory allocation code around the use of pcre2 library.
268 +* jh/fsmonitor-prework (2021-02-16) 11 commits
269 + (merged to 'next' on 2021-02-17 at 1943efb5ac)
270 + + fsmonitor: refactor initialization of fsmonitor_last_update token
271 + + fsmonitor: allow all entries for a folder to be invalidated
272 + + fsmonitor: log FSMN token when reading and writing the index
273 + + fsmonitor: log invocation of FSMonitor hook to trace2
274 + + read-cache: log the number of scanned files to trace2
275 + + read-cache: log the number of lstat calls to trace2
276 + + preload-index: log the number of lstat calls to trace2
277 + + p7519: add trace logging during perf test
278 + + p7519: move watchman cleanup earlier in the test
279 + + p7519: fix watchman watch-list test on Windows
280 + + p7519: do not rely on "xargs -d" in test
281
268 - Needs review.
269 - cf. <20210218000728.13995-1-avarab@gmail.com>
282 + Preliminary changes to fsmonitor integration.
283
271 ---------------------------------------------------
272 -[Stalled]
284
274 -* ab/make-cleanup (2021-02-01) 6 commits
275 - - Makefile: add {program,xdiff,test,git}-objs & objects targets
276 - - Makefile: split OBJECTS into OBJECTS and GIT_OBJS
277 - - Makefile: sort OBJECTS assignment for subsequent change
278 - - Makefile: split up long OBJECTS line
279 - - Makefile: guard against TEST_OBJS in the environment
280 - - Makefile: remove "all" on "$(FUZZ_OBJS)"
285 +* jh/untracked-cache-fix (2021-02-24) 1 commit
286 + (merged to 'next' on 2021-02-25 at 79d1e40211)
287 + + dir: fix malloc of root untracked_cache_dir
288
282 - Reorganize Makefile to allow building git.o and other essential
283 - objects without extra stuff needed only for testing.
289 + An under-allocation for the untracked cache data has been corrected.
290
285 - Expecting a reroll (or retraction)
286 - cf. <YBuZVfnc0ECuoKkK@coredump.intra.peff.net>
287 - cf. <xmqq1rdzjuaa.fsf@gitster.c.googlers.com>
291
292 +* jk/rev-list-disk-usage (2021-02-17) 4 commits
293 + (merged to 'next' on 2021-02-22 at 37a29a3495)
294 + + docs/rev-list: add some examples of --disk-usage
295 + + docs/rev-list: add an examples section
296 + (merged to 'next' on 2021-02-11 at 6fb701f287)
297 + + rev-list: add --disk-usage option for calculating disk usage
298 + + t: add --no-tag option to test_commit
299 + (this branch is used by ab/pickaxe-pcre2.)
300
290 -* jk/symlinked-dotgitx-files (2020-10-23) 9 commits
291 - - docs: document symlink restrictions for .git* files
292 - - fsck: complain when .gitattributes or .gitignore is a symlink
293 - - verify_path(): disallow symlinks in .gitattributes and .gitignore
294 - - t0060: test obscured .gitattributes and .gitignore matching
295 - - t7450: test .gitmodules symlink matching against obscured names
296 - - t7450: test verify_path() handling of gitmodules
297 - - t7415: rename to expand scope
298 - - fsck_tree(): wrap some long lines
299 - - fsck_tree(): fix shadowed variable
301 + "git rev-list" command learned "--disk-usage" option.
302
301 - "git fsck" and the corresponding check done during the transport
302 - learned to ensure that in-tree files like `.gitignore` and
303 - `.gitattributes` are not symbolic links.
303
305 - It seems that there are real projects with .gitignore recorded as
306 - symlinks, which may need to loosen the fsck setting. Do we need to
307 - introduce a class that is separate from symlinked .gitmodules that
308 - has potential consequences that is more/less grave, so that these
309 - projects can opt out of the new checks?
304 +* js/doc-proto-v2-response-end (2021-02-17) 1 commit
305 + (merged to 'next' on 2021-02-17 at 9d5d479469)
306 + + doc: fix naming of response-end-pkt
307
308 + Docfix.
309
312 -* ag/merge-strategies-in-c (2020-11-24) 13 commits
313 - - sequencer: use the "octopus" merge strategy without forking
314 - - sequencer: use the "resolve" strategy without forking
315 - - merge: use the "octopus" strategy without forking
316 - - merge: use the "resolve" strategy without forking
317 - - merge-octopus: rewrite in C
318 - - merge-recursive: move better_branch_name() to merge.c
319 - - merge-resolve: rewrite in C
320 - - merge-index: don't fork if the requested program is `git-merge-one-file'
321 - - merge-index: libify merge_one_path() and merge_all()
322 - - merge-one-file: rewrite in C
323 - - update-index: move add_cacheinfo() to read-cache.c
324 - - t6060: modify multiple files to expose a possible issue with merge-index
325 - - t6407: modernise tests
310
327 - The resolve and octopus merge strategy backends have been rewritten
328 - in C.
311 +* js/params-vs-args (2021-02-23) 1 commit
312 + (merged to 'next' on 2021-02-24 at 0a1ff0bc16)
313 + + replace "parameters" by "arguments" in error messages
314
330 - Got enough review comments to get updated.
315 + Messages update.
316
332 ---------------------------------------------------
333 -[Cooking]
317
335 -* tb/reverse-midx (2021-02-10) 9 commits
336 - - pack-revindex: write multi-pack reverse indexes
337 - - pack-write.c: extract 'write_rev_file_order'
338 - - pack-revindex: read multi-pack reverse indexes
339 - - Documentation/technical: describe multi-pack reverse indexes
340 - - midx: make some functions non-static
341 - - midx: keep track of the checksum
342 - - midx: don't free midx_name early
343 - - midx: allow marking a pack as preferred
344 - - t/helper/test-read-midx.c: add '--show-objects'
318 +* jt/transfer-fsck-across-packs (2021-02-22) 4 commits
319 + (merged to 'next' on 2021-02-22 at 76f1327431)
320 + + fetch-pack: print and use dangling .gitmodules
321 + + fetch-pack: with packfile URIs, use index-pack arg
322 + + http-fetch: allow custom index-pack args
323 + + http: allow custom index-pack args
324
346 - An on-disk reverse-index to map the in-pack location of an object
347 - back to its object name across multiple packfiles is introduced.
325 + The approach to "fsck" the incoming objects in "index-pack" is
326 + attractive for performance reasons (we have them already in core,
327 + inflated and ready to be inspected), but fundamentally cannot be
328 + applied fully when we receive more than one pack stream, as a tree
329 + object in one pack may refer to a blob object in another pack as
330 + ".gitmodules", when we want to inspect blobs that are used as
331 + ".gitmodules" file, for example. Teach "index-pack" to emit
332 + objects that must be inspected later and check them in the calling
333 + "fetch-pack" process.
334
335
350 -* ab/detox-gettext-tests (2021-02-10) 4 commits
351 - (merged to 'next' on 2021-02-17 at bd3d771557)
352 - + tests: remove most uses of test_i18ncmp
353 - + tests: remove last uses of C_LOCALE_OUTPUT
354 - + tests: remove most uses of C_LOCALE_OUTPUT
355 - + tests: remove last uses of GIT_TEST_GETTEXT_POISON=false
336 +* ma/doc-markup-fix (2021-02-18) 3 commits
337 + (merged to 'next' on 2021-02-22 at a8e9e712c8)
338 + + gitmailmap.txt: fix rendering of e-mail addresses
339 + + git.txt: fix monospace rendering
340 + + rev-list-options.txt: fix rendering of bonus paragraph
341
357 - Removal of GIT_TEST_GETTEXT_POISON continues.
342 + Docfix.
343
359 - Will merge to 'master'.
344
345 +* mt/add-chmod-fixes (2021-02-24) 3 commits
346 + (merged to 'next' on 2021-02-24 at 6c0977f3be)
347 + + add: propagate --chmod errors to exit status
348 + + add: mark --chmod error string for translation
349 + + add --chmod: don't update index when --dry-run is used
350
362 -* ab/diff-deferred-free (2021-02-11) 2 commits
363 - (merged to 'next' on 2021-02-12 at 5e24106122)
364 - + diff: plug memory leak from regcomp() on {log,diff} -I
365 - + diff: add an API for deferred freeing
351 + Various fixes on "git add --chmod".
352
367 - A small memleak in "diff -I<regexp>" has been corrected.
353
369 - Will merge to 'master'.
354 +* mt/checkout-index-corner-cases (2021-02-16) 2 commits
355 + (merged to 'next' on 2021-02-17 at 81dad9735b)
356 + + checkout-index: omit entries with no tempname from --temp output
357 + + write_entry(): fix misuses of `path` in error messages
358
359 + The error codepath around the "--temp/--prefix" feature of "git
360 + checkout-index" has been improved.
361
372 -* jc/diffcore-rotate (2021-02-16) 1 commit
373 - - diff: --{rotate,skip}-to=<path>
362
375 - "git {diff,log} --{skip,rotate}-to=<path>" allows the user to
376 - discard diff output for early paths or move them to the end of the
377 - output.
363 +* mt/grep-sparse-checkout (2021-02-09) 1 commit
364 + (merged to 'next' on 2021-02-24 at 246fc2ad56)
365 + + grep: honor sparse-checkout on working tree searches
366
379 - Will merge to 'next'.
367 + "git grep" has been tweaked to be limited to the sparse checkout
368 + paths.
369
370
371 * mz/doc-notes-are-not-anchors (2021-02-10) 1 commit
@@ -388,404 +377,496 @@ Release tarballs are available at:
377 which in turn can be pruned with "git notes prune"). This has been
378 clarified in the documentation.
379
391 - Will merge to 'master'.
380
381 +* ns/raise-write-index-buffer-size (2021-02-24) 1 commit
382 + (merged to 'next' on 2021-02-25 at 8f43f67ba7)
383 + + read-cache: make the index write buffer size 128K
384
394 -* en/diffcore-rename (2021-02-15) 8 commits
395 - - merge-ort: call diffcore_rename() directly
396 - - gitdiffcore doc: mention new preliminary step for rename detection
397 - - diffcore-rename: guide inexact rename detection based on basenames
398 - - diffcore-rename: complete find_basename_matches()
399 - - diffcore-rename: compute basenames of source and dest candidates
400 - - t4001: add a test comparing basename similarity and content similarity
401 - - diffcore-rename: filter rename_src list when possible
402 - - diffcore-rename: no point trying to find a match better than exact
385 + Raise the buffer size used when writing the index file out from
386 + (obviously too small) 8kB to (clearly sufficiently large) 128kB.
387 + We may want to extend this to use a value the platform suggests as
388 + the best size with a follow-up patch, but this should do for now.
389
404 - Performance optimization work on the rename detection continues.
390
406 - Will merge to 'next'.
391 +* rs/blame-optim (2021-02-17) 1 commit
392 + (merged to 'next' on 2021-02-17 at e54665eeb3)
393 + + blame: remove unnecessary use of get_commit_info()
394
395 + Optimization in "git blame"
396
409 -* ab/pickaxe-pcre2 (2021-02-18) 24 commits
410 - - pickaxe -G: don't special-case create/delete
411 - - pickaxe -G: terminate early on matching lines
412 - - xdiff-interface: support early exit in xdiff_outf()
413 - - xdiff-interface: allow early return from xdiff_emit_{line,hunk}_fn
414 - - pickaxe -S: slightly optimize contains()
415 - - pickaxe: rename variables in has_changes() for brevity
416 - - pickaxe -S: support content with NULs under --pickaxe-regex
417 - - pickaxe: assert that we must have a needle under -G or -S
418 - - pickaxe: refactor function selection in diffcore-pickaxe()
419 - - perf: add performance test for pickaxe
420 - - pickaxe/style: consolidate declarations and assignments
421 - - diff.h: move pickaxe fields together again
422 - - pickaxe: die when --find-object and --pickaxe-all are combined
423 - - pickaxe: die when -G and --pickaxe-regex are combined
424 - - pickaxe tests: test for -G, -S and --find-object incompatibility
425 - - pickaxe tests: add test for "log -S" not being a regex
426 - - pickaxe tests: add test for diffgrep_consume() internals
427 - - pickaxe tests: refactor to use test_commit --append --printf
428 - - test-lib functions: add --printf option to test_commit
429 - - test-lib-functions: reword "test_commit --append" docs
430 - - test-lib-functions: document and test test_commit --no-tag
431 - - grep/pcre2 tests: reword comments referring to kwset
432 - - Merge branch 'jk/rev-list-disk-usage' into ab/pickaxe-pcre2
433 - - Merge branch 'ab/test-lib' into ab/pickaxe-pcre2
434 - (this branch uses ab/test-lib and jk/rev-list-disk-usage.)
397
436 - Rewrite the backend for "diff -G/-S" to use pcre2 engine when
437 - available.
398 +* sh/mergetools-vimdiff1 (2021-02-23) 1 commit
399 + (merged to 'next' on 2021-02-24 at dbd4c6684c)
400 + + mergetools/vimdiff: add vimdiff1 merge tool variant
401
439 - Needs review.
440 - cf. <20210216115801.4773-1-avarab@gmail.com>
402 + Mergetools update.
403
404
443 -* cm/rebase-i-fixup-amend-reword (2021-02-17) 6 commits
444 - - doc/git-commit: add documentation for fixup[amend|reword] options
445 - - t3437: use --fixup with options to create amend! commit
446 - - t7500: add tests for --fixup[amend|reword] options
447 - - commit: add a reword suboption to --fixup
448 - - commit: add amend suboption to --fixup to create amend! commit
449 - - sequencer: export subject_length()
450 - (this branch uses cm/rebase-i and cm/rebase-i-updates.)
405 +* sv/t7001-modernize (2021-02-11) 10 commits
406 + (merged to 'next' on 2021-02-25 at 368861a00d)
407 + + t7001: use `test` rather than `[`
408 + + t7001: use here-docs instead of echo
409 + + t7001: put each command on a separate line
410 + + t7001: use '>' rather than 'touch'
411 + + t7001: avoid using `cd` outside of subshells
412 + + t7001: remove whitespace after redirect operators
413 + + t7001: modernize subshell formatting
414 + + t7001: remove unnecessary blank lines
415 + + t7001: indent with TABs instead of spaces
416 + + t7001: modernize test formatting
417
452 - "git commit --fixup=<commit>", which was to tweak the changes made
453 - to the contents while keeping the original log message intact,
454 - learned "--fixup=(amend|reword):<commit>", that can be used to
455 - tweak both the message and the contents, and only the message,
456 - respectively.
418 + Test script modernization.
419
458 - Expecting a reroll.
459 - cf. <20210217072904.16257-1-charvi077@gmail.com>
420
421 +* ta/hash-function-transition-doc (2021-02-05) 6 commits
422 + (merged to 'next' on 2021-02-12 at f620f3cfd3)
423 + + doc: use https links
424 + + doc hash-function-transition: move rationale upwards
425 + + doc hash-function-transition: fix incomplete sentence
426 + + doc hash-function-transition: use upper case consistently
427 + + doc hash-function-transition: use SHA-1 and SHA-256 consistently
428 + + doc hash-function-transition: fix asciidoc output
429
462 -* dl/stash-show-untracked (2021-02-16) 4 commits
463 - - SQUASH???
464 - - SQUASH???
465 - - stash show: learn stash.showIncludeUntracked
466 - - stash show: teach --include-untracked and --only-untracked
467 - (this branch uses dl/stash-cleanup.)
430 + Update formatting and grammar of the hash transition plan
431 + documentation, plus some updates.
432
469 - "git stash show" learned to optionally show untracked part of the
470 - stash.
433
472 - Expecting a reroll.
473 - cf. <cover.1613459474.git.liu.denton@gmail.com>
434 +* ug/doc-commit-approxidate (2021-02-23) 1 commit
435 + (merged to 'next' on 2021-02-24 at 825686380e)
436 + + doc: mention approxidates for git-commit --date
437
438 + Doc update.
439
476 -* es/config-hooks-part-1 (2021-02-16) 17 commits
477 - - hooks: allow callers to capture output
478 - - run-command: allow capturing of collated output
479 - - hook: provide stdin by string_list or callback
480 - - run-command: add stdin callback for parallelization
481 - - hook: allow specifying working directory for hooks
482 - - hook: allow parallel hook execution
483 - - run-command: allow stdin for run_processes_parallel
484 - - hook: support passing stdin to hooks
485 - - hook: replace find_hook() with hook_exists()
486 - - hook: add 'run' subcommand
487 - - parse-options: parse into strvec
488 - - hook: implement hookcmd.<name>.skip
489 - - hook: respect hook.runHookDir
490 - - hook: include hookdir hook in list
491 - - hook: add list command
492 - - hook: scaffolding for git-hook subcommand
493 - - doc: propose hooks managed by the config
494 - (this branch is used by es/config-hooks.)
440
496 - A way to specify hooks in the configuration files is introduced.
441 +* zh/difftool-skip-to (2021-02-22) 1 commit
442 + (merged to 'next' on 2021-02-22 at eeff734f2b)
443 + + difftool.c: learn a new way start at specified file
444 + (this branch uses jc/diffcore-rotate.)
445
498 - Expecting another reroll??
499 - cf. <YC7o2rUQOEdiMdqh@google.com>
446 + "git difftool" learned "--skip-to=<path>" option to restart an
447 + interrupted session from an arbitrary path.
448
449 +--------------------------------------------------
450 +[New Topics]
451
502 -* jh/fsmonitor-prework (2021-02-16) 11 commits
503 - (merged to 'next' on 2021-02-17 at 1943efb5ac)
504 - + fsmonitor: refactor initialization of fsmonitor_last_update token
505 - + fsmonitor: allow all entries for a folder to be invalidated
506 - + fsmonitor: log FSMN token when reading and writing the index
507 - + fsmonitor: log invocation of FSMonitor hook to trace2
508 - + read-cache: log the number of scanned files to trace2
509 - + read-cache: log the number of lstat calls to trace2
510 - + preload-index: log the number of lstat calls to trace2
511 - + p7519: add trace logging during perf test
512 - + p7519: move watchman cleanup earlier in the test
513 - + p7519: fix watchman watch-list test on Windows
514 - + p7519: do not rely on "xargs -d" in test
452 +* ab/remote-write-config-in-camel-case (2021-02-24) 2 commits
453 + (merged to 'next' on 2021-03-01 at a01bd0d8e4)
454 + + remote: write camel-cased *.pushRemote on rename
455 + + remote: add camel-cased *.tagOpt key, like clone
456
516 - Preliminary changes to fsmonitor integration.
457 + Update C code that sets a few configuration variables when a remote
458 + is configured so that it spells configuration variable names in the
459 + canonical camelCase.
460
518 - Will merge to 'master'.
461 + Will cook in 'next'.
462
463
521 -* jk/open-dotgitx-with-nofollow (2021-02-16) 6 commits
522 - - mailmap: do not respect symlinks for in-tree .mailmap
523 - - exclude: do not respect symlinks for in-tree .gitignore
524 - - attr: do not respect symlinks for in-tree .gitattributes
525 - - exclude: add flags parameter to add_patterns()
526 - - attr: convert "macro_ok" into a flags field
527 - - add open_nofollow() helper
464 +* ds/commit-graph-generation-config (2021-02-25) 2 commits
465 + (merged to 'next' on 2021-03-01 at 926537ea97)
466 + + commit-graph: use config to specify generation type
467 + + commit-graph: create local repository pointer
468
529 - It does not make sense to make ".gitattributes", ".gitignore" and
530 - ".mailmap" symlinks, as they are supposed to be usable from the
531 - object store (think: bare repositories where HEAD:.mailmap etc. are
532 - used). When these files are symbolic links, we used to read the
533 - contents of the files pointed by them by mistake, which has been
534 - corrected.
469 + A new configuration variable has been introduced to allow choosing
470 + which version of the generation number gets used in the
471 + commit-graph file.
472
473 + Will cook in 'next'.
474
537 -* js/doc-proto-v2-response-end (2021-02-17) 1 commit
538 - (merged to 'next' on 2021-02-17 at 9d5d479469)
539 - + doc: fix naming of response-end-pkt
475
541 - Docfix.
476 +* mt/cleanly-die-upon-missing-required-filter (2021-02-26) 1 commit
477 + (merged to 'next' on 2021-03-01 at 357954af7c)
478 + + convert: fail gracefully upon missing clean cmd on required filter
479
543 - Will merge to 'master'.
480 + We had a code to diagnose and die cleanly when a required
481 + clean/smudge filter is missing, but an assert before that
482 + unnecessarily fired, hiding the end-user facing die() message.
483
484 + Will cook in 'next'.
485
546 -* ma/doc-markup-fix (2021-02-18) 3 commits
547 - - gitmailmap.txt: fix rendering of e-mail addresses
548 - - git.txt: fix monospace rendering
549 - - rev-list-options.txt: fix rendering of bonus paragraph
486
551 - Docfix.
487 +* ab/describe-tests-fix (2021-03-01) 10 commits
488 + - test-lib: return 1 from test_expect_{success,failure}
489 + - svn tests: refactor away a "set -e" in test body
490 + - svn tests: remove legacy re-setup from init-clone test
491 + - describe tests: support -C in "check_describe"
492 + - describe tests: fix nested "test_expect_success" call
493 + - describe tests: convert setup to use test_commit
494 + - test-lib functions: add an --annotated-tag option to "test_commit"
495 + - describe tests: always assert empty stderr from "describe"
496 + - describe tests: refactor away from glob matching
497 + - describe tests: improve test for --work-tree & --dirty
498
553 - Will merge to 'next'.
499 + Various updates to tests around "git describe"
500
501
556 -* rs/blame-optim (2021-02-17) 1 commit
557 - (merged to 'next' on 2021-02-17 at e54665eeb3)
558 - + blame: remove unnecessary use of get_commit_info()
502 +* en/ort-perf-batch-8 (2021-02-26) 10 commits
503 + - diffcore-rename: compute dir_rename_guess from dir_rename_counts
504 + - diffcore-rename: limit dir_rename_counts computation to relevant dirs
505 + - diffcore-rename: compute dir_rename_counts in stages
506 + - diffcore-rename: extend cleanup_dir_rename_info()
507 + - diffcore-rename: move dir_rename_counts into dir_rename_info struct
508 + - diffcore-rename: add function for clearing dir_rename_count
509 + - Move computation of dir_rename_count from merge-ort to diffcore-rename
510 + - diffcore-rename: add a mapping of destination names to their indices
511 + - diffcore-rename: provide basic implementation of idx_possible_rename()
512 + - diffcore-rename: use directory rename guided basename comparisons
513
560 - Optimization in "git blame"
514 + Rename detection rework continues.
515
562 - Will merge to 'master'.
516
517 +* jk/open-returns-eintr (2021-03-01) 2 commits
518 + (merged to 'next' on 2021-03-02 at 7f0218e627)
519 + + config.mak.uname: enable OPEN_RETURNS_EINTR for macOS Big Sur
520 + + Makefile: add OPEN_RETURNS_EINTR knob
521
565 -* rs/pretty-describe (2021-02-17) 2 commits
566 - - pretty: add merge and exclude options to %(describe)
567 - - pretty: add %(describe)
522 + Work around platforms whose open() is reported to return EINTR (it
523 + shouldn't, as we do our signals with SA_RESTART).
524
569 - "git log --format='...'" learned "%(describe)" placeholder.
525 + Will cook in 'next'.
526
527
572 -* cm/rebase-i-updates (2021-02-10) 11 commits
573 - (merged to 'next' on 2021-02-12 at e29227780b)
574 - + doc/rebase -i: fix typo in the documentation of 'fixup' command
575 - + t/t3437: fixup the test 'multiple fixup -c opens editor once'
576 - + t/t3437: use named commits in the tests
577 - + t/t3437: simplify and document the test helpers
578 - + t/t3437: check the author date of fixed up commit
579 - + t/t3437: remove the dependency of 'expected-message' file from tests
580 - + t/t3437: fixup here-docs in the 'setup' test
581 - + t/lib-rebase: update the documentation of FAKE_LINES
582 - + rebase -i: clarify and fix 'fixup -c' rebase-todo help
583 - + sequencer: rename a few functions
584 - + sequencer: fixup the datatype of the 'flag' argument
585 - (this branch is used by cm/rebase-i-fixup-amend-reword; uses cm/rebase-i.)
528 +* jk/perf-in-worktrees (2021-02-26) 2 commits
529 + (merged to 'next' on 2021-03-02 at ea298cb298)
530 + + t/perf: avoid copying worktree files from test repo
531 + + t/perf: handle worktrees as test repos
532
587 - Follow-up fixes to "cm/rebase-i" topic.
533 + Perf test update to work better in secondary worktrees.
534
589 - Will merge to 'master', together with "cm/rebase-i".
535 + Will cook in 'next'.
536
537
592 -* cw/pack-vs-bigfilethreashold (2021-02-09) 2 commits
593 - - fixup! doc: mention bigFileThreshold for packing
594 - - doc: mention bigFileThreshold for packing
538 +* ps/update-ref-trans-hook-doc (2021-03-01) 2 commits
539 + - githooks.txt: clarify documentation on reference-transaction hook
540 + - githooks.txt: replace mentions of SHA-1 specific properties
541
596 - Doc update.
542 +
543 +* tb/pack-revindex-on-disk (2021-02-26) 1 commit
544 + - pack-revindex.c: don't close unopened file descriptors
545 +
546 +
547 +* zh/format-patch-fractional-reroll-count (2021-03-01) 1 commit
548 + - format-patch: allow a non-integral version numbers
549 +
550 +--------------------------------------------------
551 +[Stalled]
552 +
553 +* hn/reftable (2020-12-21) 16 commits
554 + - SQUASH??? allow t0031 to run with any default branch name
555 + - Add "test-tool dump-reftable" command.
556 + - git-prompt: prepare for reftable refs backend
557 + - Reftable support for git-core
558 + - reftable: rest of library
559 + - reftable: reftable file level tests
560 + - reftable: read reftable files
561 + - reftable: write reftable files
562 + - reftable: a generic binary tree implementation
563 + - reftable: reading/writing blocks
564 + - reftable: (de)serialization for the polymorphic record type.
565 + - reftable: add blocksource, an abstraction for random access reads
566 + - reftable: utility functions
567 + - reftable: add error related functionality
568 + - reftable: add LICENSE
569 + - init-db: set the_repository->hash_algo early on
570 +
571 + The "reftable" backend for the refs API.
572 +
573 +
574 +* mt/parallel-checkout-part-1 (2020-12-16) 9 commits
575 + - entry: add checkout_entry_ca() taking preloaded conv_attrs
576 + - entry: move conv_attrs lookup up to checkout_entry()
577 + - entry: extract update_ce_after_write() from write_entry()
578 + - entry: make fstat_output() and read_blob_entry() public
579 + - entry: extract a header file for entry.c functions
580 + - convert: add classification for conv_attrs struct
581 + - convert: add get_stream_filter_ca() variant
582 + - convert: add [async_]convert_to_working_tree_ca() variants
583 + - convert: make convert_attrs() and convert structs public
584 +
585 + Parallel checkout.
586 +
587 + Looking good.
588 +
589 +
590 +* es/config-hooks-part-1 (2021-02-16) 17 commits
591 + - hooks: allow callers to capture output
592 + - run-command: allow capturing of collated output
593 + - hook: provide stdin by string_list or callback
594 + - run-command: add stdin callback for parallelization
595 + - hook: allow specifying working directory for hooks
596 + - hook: allow parallel hook execution
597 + - run-command: allow stdin for run_processes_parallel
598 + - hook: support passing stdin to hooks
599 + - hook: replace find_hook() with hook_exists()
600 + - hook: add 'run' subcommand
601 + - parse-options: parse into strvec
602 + - hook: implement hookcmd.<name>.skip
603 + - hook: respect hook.runHookDir
604 + - hook: include hookdir hook in list
605 + - hook: add list command
606 + - hook: scaffolding for git-hook subcommand
607 + - doc: propose hooks managed by the config
608 + (this branch is used by es/config-hooks.)
609 +
610 + A way to specify hooks in the configuration files is introduced.
611 +
612 + Expecting another reroll??
613 + cf. <YC7o2rUQOEdiMdqh@google.com>
614 +
615 +
616 +* dl/stash-show-untracked (2021-02-16) 4 commits
617 + - SQUASH???
618 + - SQUASH???
619 + - stash show: learn stash.showIncludeUntracked
620 + - stash show: teach --include-untracked and --only-untracked
621 +
622 + "git stash show" learned to optionally show untracked part of the
623 + stash.
624
625 Expecting a reroll.
599 - cf. <F63929A8-7BC9-43A7-9E7B-118433F62588@gmx.ch>
626 + cf. <cover.1613459474.git.liu.denton@gmail.com>
627
628
602 -* jk/rev-list-disk-usage (2021-02-17) 4 commits
603 - - docs/rev-list: add some examples of --disk-usage
604 - - docs/rev-list: add an examples section
605 - (merged to 'next' on 2021-02-11 at 6fb701f287)
606 - + rev-list: add --disk-usage option for calculating disk usage
607 - + t: add --no-tag option to test_commit
608 - (this branch is used by ab/pickaxe-pcre2.)
629 +* ab/fsck-api-cleanup (2021-02-18) 10 commits
630 + - fsck.h: update FSCK_OPTIONS_* for object_name
631 + - fsck.c: give "FOREACH_MSG_ID" a more specific name
632 + - fsck.c: undefine temporary STR macro after use
633 + - fsck.c: call parse_msg_type() early in fsck_set_msg_type()
634 + - fsck.h: move FSCK_{FATAL,INFO,ERROR,WARN,IGNORE} into an enum
635 + - fsck.c: rename remaining fsck_msg_id "id" to "msg_id"
636 + - fsck.c: move definition of msg_id into append_msg_id()
637 + - fsck.c: rename variables in fsck_set_msg_type() for less confusion
638 + - fsck.h: use "enum object_type" instead of "int"
639 + - fsck.h: indent arguments to of fsck_set_msg_type
640
610 - "git rev-list" command learned "--disk-usage" option.
641 + Preliminary fsck API clean-up.
642
612 - Will merge to 'next' and then to 'master'.
643 + Expecting a reroll.
644 + cf. <xmqqczwxc8bw.fsf@gitster.g>
645
646
615 -* mt/checkout-index-corner-cases (2021-02-16) 2 commits
616 - (merged to 'next' on 2021-02-17 at 81dad9735b)
617 - + checkout-index: omit entries with no tempname from --temp output
618 - + write_entry(): fix misuses of `path` in error messages
647 +* jk/symlinked-dotgitx-files (2020-10-23) 9 commits
648 + - docs: document symlink restrictions for .git* files
649 + - fsck: complain when .gitattributes or .gitignore is a symlink
650 + - verify_path(): disallow symlinks in .gitattributes and .gitignore
651 + - t0060: test obscured .gitattributes and .gitignore matching
652 + - t7450: test .gitmodules symlink matching against obscured names
653 + - t7450: test verify_path() handling of gitmodules
654 + - t7415: rename to expand scope
655 + - fsck_tree(): wrap some long lines
656 + - fsck_tree(): fix shadowed variable
657
620 - The error codepath around the "--temp/--prefix" feature of "git
621 - checkout-index" has been improved.
658 + "git fsck" and the corresponding check done during the transport
659 + learned to ensure that in-tree files like `.gitignore` and
660 + `.gitattributes` are not symbolic links.
661
623 - Will merge to 'master'.
662 + It seems that there are real projects with .gitignore recorded as
663 + symlinks, which may need to loosen the fsck setting. Do we need to
664 + introduce a class that is separate from symlinked .gitmodules that
665 + has potential consequences that is more/less grave, so that these
666 + projects can opt out of the new checks?
667
668
626 -* ab/test-lib (2021-02-12) 11 commits
627 - (merged to 'next' on 2021-02-12 at 666a0422dc)
628 - + test-lib-functions: assert correct parameter count
629 - + test-lib-functions: remove bug-inducing "diagnostics" helper param
630 - + test libs: rename "diff-lib" to "lib-diff"
631 - + t/.gitattributes: sort lines
632 - + test-lib-functions: move function to lib-bitmap.sh
633 - + test libs: rename gitweb-lib.sh to lib-gitweb.sh
634 - + test libs: rename bundle helper to "lib-bundle.sh"
635 - + test-lib-functions: remove generate_zero_bytes() wrapper
636 - + test-lib-functions: move test_set_index_version() to its user
637 - + test lib: change "error" to "BUG" as appropriate
638 - + test-lib: remove check_var_migration
639 - (this branch is used by ab/pickaxe-pcre2.)
669 +* ag/merge-strategies-in-c (2020-11-24) 13 commits
670 + - sequencer: use the "octopus" merge strategy without forking
671 + - sequencer: use the "resolve" strategy without forking
672 + - merge: use the "octopus" strategy without forking
673 + - merge: use the "resolve" strategy without forking
674 + - merge-octopus: rewrite in C
675 + - merge-recursive: move better_branch_name() to merge.c
676 + - merge-resolve: rewrite in C
677 + - merge-index: don't fork if the requested program is `git-merge-one-file'
678 + - merge-index: libify merge_one_path() and merge_all()
679 + - merge-one-file: rewrite in C
680 + - update-index: move add_cacheinfo() to read-cache.c
681 + - t6060: modify multiple files to expose a possible issue with merge-index
682 + - t6407: modernise tests
683
641 - Test framework clean-up.
684 + The resolve and octopus merge strategy backends have been rewritten
685 + in C.
686
643 - Will merge to 'master'.
687 + Got enough review comments to get updated.
688
689 +--------------------------------------------------
690 +[Cooking]
691
646 -* dl/stash-cleanup (2021-02-11) 7 commits
647 - (merged to 'next' on 2021-02-11 at ae1cde1380)
648 - + stash: declare ref_stash as an array
649 - + t3905: use test_cmp() to check file contents
650 - + t3905: replace test -s with test_file_not_empty
651 - + t3905: remove nested git in command substitution
652 - + t3905: move all commands into test cases
653 - + t3905: remove spaces after redirect operators
654 - + git-stash.txt: be explicit about subcommand options
655 - (this branch is used by dl/stash-show-untracked.)
692 +* ab/make-cleanup (2021-02-23) 6 commits
693 + - Makefile: build "$(FUZZ_OBJS)" in CI, not under "all"
694 + - Makefile: add {program,xdiff,test,git,fuzz}-objs & objects targets
695 + - Makefile: split OBJECTS into OBJECTS and GIT_OBJS
696 + - Makefile: sort OBJECTS assignment for subsequent change
697 + - Makefile: split up long OBJECTS line
698 + - Makefile: guard against TEST_OBJS in the environment
699
657 - Documentation, code and test clean-up around "git stash".
700 + Reorganize Makefile to allow building git.o and other essential
701 + objects without extra stuff needed only for testing.
702
659 - Will merge to 'master'.
660 - This is an early part of a topic that added a new feature to the
661 - command, but the implementation is expected to need a handful of
662 - iterations; I split the preparatory part up to fast-track it.
703 + The last step is of dubious value, but otherwise looked OK.
704 + cf. <YDVJZnmTiBYZ4iPM@coredump.intra.peff.net>
705
706
665 -* sv/t7001-modernize (2021-02-11) 10 commits
666 - - t7001: use `test` rather than `[`
667 - - t7001: use here-docs instead of echo
668 - - t7001: put each command on a separate line
669 - - t7001: use '>' rather than 'touch'
670 - - t7001: avoid using `cd` outside of subshells
671 - - t7001: remove whitespace after redirect operators
672 - - t7001: modernize subshell formatting
673 - - t7001: remove unnecessary blank lines
674 - - t7001: indent with TABs instead of spaces
675 - - t7001: modernize test formatting
707 +* ab/grep-pcre2-allocfix (2021-02-17) 10 commits
708 + - grep/pcre2: move definitions of pcre2_{malloc,free}
709 + - grep/pcre2: move back to thread-only PCREv2 structures
710 + - grep/pcre2: actually make pcre2 use custom allocator
711 + - grep/pcre2: use pcre2_maketables_free() function
712 + - grep/pcre2: use compile-time PCREv2 version test
713 + - grep/pcre2: add GREP_PCRE2_DEBUG_MALLOC debug mode
714 + - grep/pcre2: prepare to add debugging to pcre2_malloc()
715 + - grep/pcre2: correct reference to grep_init() in comment
716 + - grep/pcre2: drop needless assignment to NULL
717 + - grep/pcre2: drop needless assignment + assert() on opt->pcre2
718
677 - Test script modernization.
719 + Updates to memory allocation code around the use of pcre2 library.
720
679 - Expecting the final version with corrected author attribution.
721 + Needs review.
722 + cf. <20210218000728.13995-1-avarab@gmail.com>
723
724
682 -* mt/grep-sparse-checkout (2021-02-09) 1 commit
683 - - grep: honor sparse-checkout on working tree searches
725 +* tb/reverse-midx (2021-02-24) 16 commits
726 + - pack-revindex: write multi-pack reverse indexes
727 + - pack-write.c: extract 'write_rev_file_order'
728 + - pack-revindex: read multi-pack reverse indexes
729 + - Documentation/technical: describe multi-pack reverse indexes
730 + - midx: make some functions non-static
731 + - midx: keep track of the checksum
732 + - midx: don't free midx_name early
733 + - midx: allow marking a pack as preferred
734 + - t/helper/test-read-midx.c: add '--show-objects'
735 + - builtin/multi-pack-index.c: display usage on unrecognized command
736 + - builtin/multi-pack-index.c: don't enter bogus cmd_mode
737 + - builtin/multi-pack-index.c: split sub-commands
738 + - builtin/multi-pack-index.c: define common usage with a macro
739 + - builtin/multi-pack-index.c: don't handle 'progress' separately
740 + - builtin/multi-pack-index.c: inline 'flags' with options
741 + - Merge branch 'ds/chunked-file-api' into tb/reverse-midx
742
685 - "git grep" has been tweaked to be limited to the sparse checkout
686 - paths.
743 + An on-disk reverse-index to map the in-pack location of an object
744 + back to its object name across multiple packfiles is introduced.
745
688 - Will merge to 'next'.
746
747 +* ab/pickaxe-pcre2 (2021-02-18) 24 commits
748 + - pickaxe -G: don't special-case create/delete
749 + - pickaxe -G: terminate early on matching lines
750 + - xdiff-interface: support early exit in xdiff_outf()
751 + - xdiff-interface: allow early return from xdiff_emit_{line,hunk}_fn
752 + - pickaxe -S: slightly optimize contains()
753 + - pickaxe: rename variables in has_changes() for brevity
754 + - pickaxe -S: support content with NULs under --pickaxe-regex
755 + - pickaxe: assert that we must have a needle under -G or -S
756 + - pickaxe: refactor function selection in diffcore-pickaxe()
757 + - perf: add performance test for pickaxe
758 + - pickaxe/style: consolidate declarations and assignments
759 + - diff.h: move pickaxe fields together again
760 + - pickaxe: die when --find-object and --pickaxe-all are combined
761 + - pickaxe: die when -G and --pickaxe-regex are combined
762 + - pickaxe tests: test for -G, -S and --find-object incompatibility
763 + - pickaxe tests: add test for "log -S" not being a regex
764 + - pickaxe tests: add test for diffgrep_consume() internals
765 + - pickaxe tests: refactor to use test_commit --append --printf
766 + - test-lib functions: add --printf option to test_commit
767 + - test-lib-functions: reword "test_commit --append" docs
768 + - test-lib-functions: document and test test_commit --no-tag
769 + - grep/pcre2 tests: reword comments referring to kwset
770 + - Merge branch 'jk/rev-list-disk-usage' into ab/pickaxe-pcre2
771 + - Merge branch 'ab/test-lib' into ab/pickaxe-pcre2
772
691 -* jh/simple-ipc (2021-02-17) 12 commits
692 - - t0052: add simple-ipc tests and t/helper/test-simple-ipc tool
693 - - simple-ipc: add Unix domain socket implementation
694 - - unix-socket: create `unix_stream_server__listen_with_lock()`
695 - - unix-socket: disallow chdir() when creating unix domain sockets
696 - - unix-socket: add backlog size option to unix_stream_listen()
697 - - unix-socket: elimiate static unix_stream_socket() helper function
698 - - simple-ipc: add win32 implementation
699 - - simple-ipc: design documentation for new IPC mechanism
700 - - pkt-line: add options argument to read_packetized_to_strbuf()
701 - - pkt-line: (optionally) libify the packet readers
702 - - pkt-line: do not issue flush packets in write_packetized_*()
703 - - pkt-line: eliminate the need for static buffer in packet_write_gently()
773 + Rewrite the backend for "diff -G/-S" to use pcre2 engine when
774 + available.
775
705 - A simple IPC interface gets introduced to build services like
706 - fsmonitor on top.
776 + Needs review.
777 + cf. <20210216115801.4773-1-avarab@gmail.com>
778
779
709 -* ab/pager-exit-log (2021-02-01) 4 commits
710 - (merged to 'next' on 2021-02-12 at ffe9f2d364)
711 - + pager: properly log pager exit code when signalled
712 - + run-command: add braces for "if" block in wait_or_whine()
713 - + pager: test for exit code with and without SIGPIPE
714 - + pager: refactor wait_for_pager() function
780 +* cm/rebase-i-fixup-amend-reword (2021-03-01) 6 commits
781 + - doc/git-commit: add documentation for fixup=[amend|reword] options
782 + - t3437: use --fixup with options to create amend! commit
783 + - t7500: add tests for --fixup=[amend|reword] options
784 + - commit: add a reword suboption to --fixup
785 + - commit: add amend suboption to --fixup to create amend! commit
786 + - sequencer: export subject_length()
787 + (this branch uses cm/rebase-i and cm/rebase-i-updates.)
788
716 - When a pager spawned by us exited, the trace log did not record its
717 - exit status correctly, which has been corrected.
789 + "git commit --fixup=<commit>", which was to tweak the changes made
790 + to the contents while keeping the original log message intact,
791 + learned "--fixup=(amend|reword):<commit>", that can be used to
792 + tweak both the message and the contents, and only the message,
793 + respectively.
794
719 - Will merge to 'master'.
720 - The original "what should we do with SIGPIPE?" question remains, though.
795 + Getting there.
796 + cf. <20210301084512.27170-1-charvi077@gmail.com>
797
798
723 -* ta/hash-function-transition-doc (2021-02-05) 6 commits
724 - (merged to 'next' on 2021-02-12 at f620f3cfd3)
725 - + doc: use https links
726 - + doc hash-function-transition: move rationale upwards
727 - + doc hash-function-transition: fix incomplete sentence
728 - + doc hash-function-transition: use upper case consistently
729 - + doc hash-function-transition: use SHA-1 and SHA-256 consistently
730 - + doc hash-function-transition: fix asciidoc output
799 +* jk/open-dotgitx-with-nofollow (2021-02-16) 6 commits
800 + (merged to 'next' on 2021-02-25 at a784bf7be6)
801 + + mailmap: do not respect symlinks for in-tree .mailmap
802 + + exclude: do not respect symlinks for in-tree .gitignore
803 + + attr: do not respect symlinks for in-tree .gitattributes
804 + + exclude: add flags parameter to add_patterns()
805 + + attr: convert "macro_ok" into a flags field
806 + + add open_nofollow() helper
807
732 - Update formatting and grammar of the hash transition plan
733 - documentation, plus some updates.
808 + It does not make sense to make ".gitattributes", ".gitignore" and
809 + ".mailmap" symlinks, as they are supposed to be usable from the
810 + object store (think: bare repositories where HEAD:.mailmap etc. are
811 + used). When these files are symbolic links, we used to read the
812 + contents of the files pointed by them by mistake, which has been
813 + corrected.
814
735 - Will merge to 'master'.
736 -
737 -
738 -* ds/chunked-file-api (2021-02-18) 17 commits
739 - - chunk-format: add technical docs
740 - - chunk-format: restore duplicate chunk checks
741 - - midx: use 64-bit multiplication for chunk sizes
742 - - midx: use chunk-format read API
743 - - commit-graph: use chunk-format read API
744 - - chunk-format: create read chunk API
745 - - midx: use chunk-format API in write_midx_internal()
746 - - midx: drop chunk progress during write
747 - - midx: return success/failure in chunk write methods
748 - - midx: add num_large_offsets to write_midx_context
749 - - midx: add pack_perm to write_midx_context
750 - - midx: add entries to write_midx_context
751 - - midx: use context in write_midx_pack_names()
752 - - midx: rename pack_info to write_midx_context
753 - - commit-graph: use chunk-format write API
754 - - chunk-format: create chunk format write API
755 - - commit-graph: anonymize data in chunk_write_fn
815 + Will cook in 'next'.
816
757 - The common code to deal with "chunked file format" that is shared
758 - by the multi-pack-index and commit-graph files have been factored
759 - out, to help codepaths for both filetypes to become more rebust.
817
761 - Will merge to 'next'.
818 +* rs/pretty-describe (2021-03-01) 4 commits
819 + (merged to 'next' on 2021-03-01 at bee9248828)
820 + + pretty: document multiple %(describe) being inconsistent
821 + + t4205: assert %(describe) test coverage
822 + (merged to 'next' on 2021-02-25 at 2347ed8fe6)
823 + + pretty: add merge and exclude options to %(describe)
824 + + pretty: add %(describe)
825
826 + "git log --format='...'" learned "%(describe)" placeholder.
827
764 -* ds/merge-base-independent (2021-02-01) 5 commits
765 - - commit-reach: stale commits may prune generation further
766 - - commit-reach: use heuristic in remove_redundant()
767 - - commit-reach: move compare_commits_by_gen
768 - - commit-reach: use one walk in remove_redundant()
769 - - commit-reach: reduce requirements for remove_redundant()
828 + Will cook in 'next'.
829
771 - The code to implement "git merge-base --independent" was poorly
772 - done and was kept from the very beginning of the feature.
830
774 - Expecting a reroll.
775 - cf. <pull.852.v2.git.1612183647.gitgitgadget@gmail.com>
831 +* cm/rebase-i-updates (2021-02-10) 11 commits
832 + (merged to 'next' on 2021-02-12 at e29227780b)
833 + + doc/rebase -i: fix typo in the documentation of 'fixup' command
834 + + t/t3437: fixup the test 'multiple fixup -c opens editor once'
835 + + t/t3437: use named commits in the tests
836 + + t/t3437: simplify and document the test helpers
837 + + t/t3437: check the author date of fixed up commit
838 + + t/t3437: remove the dependency of 'expected-message' file from tests
839 + + t/t3437: fixup here-docs in the 'setup' test
840 + + t/lib-rebase: update the documentation of FAKE_LINES
841 + + rebase -i: clarify and fix 'fixup -c' rebase-todo help
842 + + sequencer: rename a few functions
843 + + sequencer: fixup the datatype of the 'flag' argument
844 + (this branch is used by cm/rebase-i-fixup-amend-reword; uses cm/rebase-i.)
845
846 + Follow-up fixes to "cm/rebase-i" topic.
847
778 -* hv/trailer-formatting (2021-02-15) 4 commits
779 - - ref-filter: use pretty.c logic for trailers
780 - - pretty.c: capture invalid trailer argument
781 - - pretty.c: refactor trailer logic to `format_set_trailers_options()`
782 - - t6300: use function to test trailer options
848 + Will cook in 'next', together with "cm/rebase-i".
849
784 - The logic to handle "trailer" related placeholders in the
785 - "--format=" mechanisms in the "log" family and "for-each-ref"
786 - family is getting unified.
850
788 - Ready for 'next'?
851 +* jh/simple-ipc (2021-02-17) 12 commits
852 + (merged to 'next' on 2021-03-01 at 6604451f18)
853 + + t0052: add simple-ipc tests and t/helper/test-simple-ipc tool
854 + + simple-ipc: add Unix domain socket implementation
855 + + unix-socket: create `unix_stream_server__listen_with_lock()`
856 + + unix-socket: disallow chdir() when creating unix domain sockets
857 + + unix-socket: add backlog size option to unix_stream_listen()
858 + + unix-socket: elimiate static unix_stream_socket() helper function
859 + + simple-ipc: add win32 implementation
860 + + simple-ipc: design documentation for new IPC mechanism
861 + + pkt-line: add options argument to read_packetized_to_strbuf()
862 + + pkt-line: (optionally) libify the packet readers
863 + + pkt-line: do not issue flush packets in write_packetized_*()
864 + + pkt-line: eliminate the need for static buffer in packet_write_gently()
865 +
866 + A simple IPC interface gets introduced to build services like
867 + fsmonitor on top.
868 +
869 + Will cook in 'next'.
870
871
872 * cm/rebase-i (2021-01-29) 9 commits
@@ -803,89 +884,26 @@ Release tarballs are available at:
884
885 "rebase -i" is getting cleaned up and also enhanced.
886
806 - Will merge to 'master', together with "cm/rebase-i-updates".
887 + Will cook in 'next', together with "cm/rebase-i-updates".
888
889
809 -* tb/geometric-repack (2021-02-18) 8 commits
810 - - builtin/repack.c: add '--geometric' option
811 - - packfile: add kept-pack cache for find_kept_pack_entry()
812 - - builtin/pack-objects.c: rewrite honor-pack-keep logic
813 - - p5303: measure time to repack with keep
814 - - p5303: add missing &&-chains
815 - - builtin/pack-objects.c: add '--stdin-packs' option
816 - - revision: learn '--no-kept-objects'
817 - - packfile: introduce 'find_kept_pack_entry()'
890 +* tb/geometric-repack (2021-02-22) 8 commits
891 + (merged to 'next' on 2021-02-25 at a854fdbaff)
892 + + builtin/repack.c: add '--geometric' option
893 + + packfile: add kept-pack cache for find_kept_pack_entry()
894 + + builtin/pack-objects.c: rewrite honor-pack-keep logic
895 + + p5303: measure time to repack with keep
896 + + p5303: add missing &&-chains
897 + + builtin/pack-objects.c: add '--stdin-packs' option
898 + + revision: learn '--no-kept-objects'
899 + + packfile: introduce 'find_kept_pack_entry()'
900
901 "git repack" so far has been only capable of repacking everything
902 under the sun into a single pack (or split by size). A cleverer
903 strategy to reduce the cost of repacking a repository has been
904 introduced.
905
824 - cf. <cover.1613618042.git.me@ttaylorr.com>
825 -
826 -
827 -* ah/rebase-no-fork-point-config (2021-01-21) 1 commit
828 - - rebase: add a config option for --no-fork-point
829 -
830 - "git rebase --[no-]fork-point" gained a configuration variable
831 - rebase.forkPoint so that users do not have to keep specifying a
832 - non-default setting.
833 -
834 - Expecting a reroll to update its tests.
835 - cf. <CAMMLpeTDNLUz9UVnL3aVK=J7X50Sq8L-OVGaoEsT5AY6EQON-g@mail.gmail.com>
836 -
837 -
838 -* jt/transfer-fsck-across-packs (2021-01-25) 5 commits
839 - - SQUASH??? test fix
840 - - fetch-pack: print and use dangling .gitmodules
841 - - fetch-pack: with packfile URIs, use index-pack arg
842 - - http-fetch: allow custom index-pack args
843 - - http: allow custom index-pack args
844 -
845 - The approach to "fsck" the incoming objects in "index-pack" is
846 - attractive for performance reasons (we have them already in core,
847 - inflated and ready to be inspected), but fundamentally cannot be
848 - applied fully when we receive more than one pack stream, as a tree
849 - object in one pack may refer to a blob object in another pack as
850 - ".gitmodules", when we want to inspect blobs that are used as
851 - ".gitmodules" file, for example. Teach "index-pack" to emit
852 - objects that must be inspected later and check them in the calling
853 - "fetch-pack" process.
854 -
855 - Expecting an update, but perhaps it may be a good approach to
856 - rebuild the topic on top of ab/fsck-api-cleanup
857 -
858 -
859 -* bc/signed-objects-with-both-hashes (2021-02-10) 6 commits
860 - (merged to 'next' on 2021-02-11 at 391cc85104)
861 - + gpg-interface: remove other signature headers before verifying
862 - + ref-filter: hoist signature parsing
863 - + commit: allow parsing arbitrary buffers with headers
864 - + gpg-interface: improve interface for parsing tags
865 - + commit: ignore additional signatures when parsing signed commits
866 - + ref-filter: switch some uses of unsigned long to size_t
867 -
868 - Signed commits and tags now allow verification of objects, whose
869 - two object names (one in SHA-1, the other in SHA-256) are both
870 - signed.
871 -
872 - Will merge to 'master'.
873 -
874 -
875 -* mt/parallel-checkout-part-1 (2020-12-16) 9 commits
876 - - entry: add checkout_entry_ca() taking preloaded conv_attrs
877 - - entry: move conv_attrs lookup up to checkout_entry()
878 - - entry: extract update_ce_after_write() from write_entry()
879 - - entry: make fstat_output() and read_blob_entry() public
880 - - entry: extract a header file for entry.c functions
881 - - convert: add classification for conv_attrs struct
882 - - convert: add get_stream_filter_ca() variant
883 - - convert: add [async_]convert_to_working_tree_ca() variants
884 - - convert: make convert_attrs() and convert structs public
885 -
886 - Parallel checkout.
887 -
888 - Looking good.
906 + Will cook in 'next'.
907
908
909 * es/config-hooks (2021-02-16) 17 commits
@@ -912,66 +930,14 @@ Release tarballs are available at:
930
931 Expecting doc updates, but otherwise seems to be progressing nicely.
932
915 -
916 -* hn/reftable (2020-12-21) 16 commits
917 - - SQUASH??? allow t0031 to run with any default branch name
918 - - Add "test-tool dump-reftable" command.
919 - - git-prompt: prepare for reftable refs backend
920 - - Reftable support for git-core
921 - - reftable: rest of library
922 - - reftable: reftable file level tests
923 - - reftable: read reftable files
924 - - reftable: write reftable files
925 - - reftable: a generic binary tree implementation
926 - - reftable: reading/writing blocks
927 - - reftable: (de)serialization for the polymorphic record type.
928 - - reftable: add blocksource, an abstraction for random access reads
929 - - reftable: utility functions
930 - - reftable: add error related functionality
931 - - reftable: add LICENSE
932 - - init-db: set the_repository->hash_algo early on
933 -
934 - The "reftable" backend for the refs API.
935 -
933 --------------------------------------------------
934 [Discarded]
935
939 -* sm/curl-retry (2020-10-13) 3 commits
940 - . http: automatically retry some requests
941 - . replace CURLOPT_FILE With CURLOPT_WRITEDATA
942 - . remote-curl: add testing for intelligent retry for HTTP
943 -
944 - The http transport has been taught to retry a failed request that
945 - may reasonably be retried.
946 -
947 - Stalled for too long without any activity.
948 - cf. <20201015000410.GB328643@google.com>
949 - cf. <CAM4o00eefXK2CJ_FxwwVPpBKL01JsJANf+SdjCtw_0NVV82L+Q@mail.gmail.com>
950 -
951 -
952 -* ar/fetch-transfer-ipversion (2020-09-16) 1 commit
953 - . config: option transfer.ipversion to set transport protocol version for network fetches
954 -
955 - Adds transfer.ipversion configuration variable.
956 -
957 - Stalled for too long without any activity.
958 -
959 -
960 -* jc/war-on-dashed-git (2020-12-21) 2 commits
961 - . fixup??? git: catch an attempt to run "git-foo"
962 - . git: catch an attempt to run "git-foo"
963 -
964 - The first step to remove on-disk binaries for built-in subcommands
965 - by soliciting objections.
966 -
967 - Stalled for too long without any activity.
968 -
969 -
970 -* mk/use-size-t-in-zlib (2018-10-15) 1 commit
971 - . zlib.c: use size_t for size
936 +* cw/pack-vs-bigfilethreashold (2021-02-09) 2 commits
937 + . fixup! doc: mention bigFileThreshold for packing
938 + . doc: mention bigFileThreshold for packing
939
973 - The wrapper to call into zlib followed our long tradition to use
974 - "unsigned long" for sizes of regions in memory, which have been
975 - updated to use "size_t".
940 + Doc update.
941
977 - Stalled for too long without any activity.
942 + cw/pack-config-doc supersedes this with a bit more coverage on
943 + related knobs.