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.