What's cooking (2021/12 #04)

Junio C Hamano committed Dec 15, 2021 at 15:28 UTC 510d42bf652ebc22ceb54ba76b4d9023320194fa
1 file changed +472 -782
whats-cooking.txt
+472 -782
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Dec 2021, #03; Fri, 10)
4 -X-master-at: e773545c7fe7eca21b134847f4fc2cbc9547fa14
5 -X-next-at: fae76fe5da3df25d752f2251b7ccda3f62813aa9
3 +Subject: What's cooking in git.git (Dec 2021, #04; Wed, 15)
4 +X-master-at: 69a9c10c95e28df457e33b3c7400b16caf2e2962
5 +X-next-at: a2b2bfdf31eaee062391d5f278d6dd93cf7a3e4c
6
7 -What's cooking in git.git (Dec 2021, #03; Fri, 10)
7 +What's cooking in git.git (Dec 2021, #04; Wed, 15)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking in my tree. Commits
@@ -49,356 +49,414 @@ Release tarballs are available at:
49 --------------------------------------------------
50 [Graduated to 'master']
51
52 -* ab/checkout-branch-info-leakfix (2021-11-18) 1 commit
53 - (merged to 'next' on 2021-12-02 at 5922388782)
54 - + checkout: fix "branch info" memory leaks
55 -
56 - Leakfix.
57 - source: <patch-v4-1.1-57bcd0cbc23-20211116T182604Z-avarab@gmail.com>
58 -
52 +* ab/ci-updates (2021-11-23) 5 commits
53 + (merged to 'next' on 2021-12-07 at 1d855a6b33)
54 + + CI: don't run "make test" twice in one job
55 + + CI: use "$runs_on_pool", not "$jobname" to select packages & config
56 + + CI: rename the "Linux32" job to lower-case "linux32"
57 + + CI: use shorter names that fit in UX tooltips
58 + + CI: remove Travis CI support
59
60 -* ab/generate-command-list (2021-11-05) 10 commits
61 - (merged to 'next' on 2021-12-02 at 37a575b37f)
62 - + generate-cmdlist.sh: don't parse command-list.txt thrice
63 - + generate-cmdlist.sh: replace "grep' invocation with a shell version
64 - + generate-cmdlist.sh: do not shell out to "sed"
65 - + generate-cmdlist.sh: stop sorting category lines
66 - + generate-cmdlist.sh: replace for loop by printf's auto-repeat feature
67 - + generate-cmdlist.sh: run "grep | sort", not "sort | grep"
68 - + generate-cmdlist.sh: don't call get_categories() from category_list()
69 - + generate-cmdlist.sh: spawn fewer processes
70 - + generate-cmdlist.sh: trivial whitespace change
71 - + command-list.txt: sort with "LC_ALL=C sort"
60 + Drop support for TravisCI and update test workflows at GitHub.
61 + source: <cover-v4-0.5-00000000000-20211123T134300Z-avarab@gmail.com>
62
73 - Build optimization.
74 - source: <cover-v3-00.10-00000000000-20211105T135058Z-avarab@gmail.com>
63
64 +* ab/die-with-bug (2021-12-07) 4 commits
65 + (merged to 'next' on 2021-12-08 at 9b7440fafd)
66 + + object.c: use BUG(...) no die("BUG: ...") in lookup_object_by_type()
67 + + pathspec: use BUG(...) not die("BUG:%s:%d....", <file>, <line>)
68 + + strbuf.h: use BUG(...) not die("BUG: ...")
69 + + pack-objects: use BUG(...) not die("BUG: ...")
70
77 -* ah/advice-pull-has-no-preference-between-rebase-and-merge (2021-11-19) 1 commit
78 - (merged to 'next' on 2021-12-02 at 1b49913760)
79 - + pull: don't say that merge is "the default strategy"
71 + Code clean-up.
72 + source: <cover-v2-0.4-00000000000-20211207T110440Z-avarab@gmail.com>
73
81 - The advice message given by "git pull" when the user hasn't made a
82 - choice between merge and rebase still said that the merge is the
83 - default, which no longer is the case. This has been corrected.
84 - source: <20211118154317.639118-1-alexhenrie24@gmail.com>
74
75 +* ab/mark-leak-free-tests-even-more (2021-11-01) 15 commits
76 + (merged to 'next' on 2021-12-03 at 1d8c342dab)
77 + + leak tests: mark some fast-import tests as passing with SANITIZE=leak
78 + + leak tests: mark some config tests as passing with SANITIZE=leak
79 + + leak tests: mark some status tests as passing with SANITIZE=leak
80 + + leak tests: mark some clone tests as passing with SANITIZE=leak
81 + + leak tests: mark some add tests as passing with SANITIZE=leak
82 + + leak tests: mark some diff tests as passing with SANITIZE=leak
83 + + leak tests: mark some apply tests as passing with SANITIZE=leak
84 + + leak tests: mark some notes tests as passing with SANITIZE=leak
85 + + leak tests: mark some update-index tests as passing with SANITIZE=leak
86 + + leak tests: mark some rev-parse tests as passing with SANITIZE=leak
87 + + leak tests: mark some rev-list tests as passing with SANITIZE=leak
88 + + leak tests: mark some misc tests as passing with SANITIZE=leak
89 + + leak tests: mark most gettext tests as passing with SANITIZE=leak
90 + + leak tests: mark "sort" test as passing SANITIZE=leak
91 + + leak tests: mark a read-tree test as passing SANITIZE=leak
92
87 -* bc/require-c99 (2021-12-01) 1 commit
88 - (merged to 'next' on 2021-12-02 at 76aa8bc2d0)
89 - + git-compat-util: add a test balloon for C99 support
90 - (this branch is used by jk/limit-developers-to-gnu99.)
93 + More tests are marked as leak-free.
94 + source: <cover-00.15-00000000000-20211030T221945Z-avarab@gmail.com>
95
92 - Weather balloon to break people with compilers that do not support
93 - C99.
94 - source: <20211201014050.38002-1-sandals@crustytoothpaste.net>
96
97 +* ab/parse-options-cleanup (2021-11-10) 1 commit
98 + (merged to 'next' on 2021-12-08 at f9a2ceb9f6)
99 + + parse-options.c: use "enum parse_opt_result" for parse_nodash_opt()
100
97 -* cb/add-p-single-key-fix (2021-11-28) 1 commit
98 - (merged to 'next' on 2021-12-03 at 8d4f16e620)
99 - + add -p: avoid use of undefined $key when ReadKey -> EOF
101 + Change the type of an internal function to return an enum (instead
102 + of int) and replace -2 that was used to signal an error with -1.
103 + source: <patch-v2-1.1-376f76bb44e-20211110T012523Z-avarab@gmail.com>
104
101 - The single-key-input mode in "git add -p" had some code to handle
102 - keys that generate a sequence of input via ReadKey(), which did not
103 - handle end-of-file correctly, which has been fixed.
104 - source: <20211128174903.5623-1-carenas@gmail.com>
105
106 +* ab/run-command (2021-11-25) 9 commits
107 + (merged to 'next' on 2021-12-07 at 5c0bedf853)
108 + + run-command API: remove "env" member, always use "env_array"
109 + + difftool: use "env_array" to simplify memory management
110 + + run-command API: remove "argv" member, always use "args"
111 + + run-command API users: use strvec_push(), not argv construction
112 + + run-command API users: use strvec_pushl(), not argv construction
113 + + run-command tests: use strvec_pushv(), not argv assignment
114 + + run-command API users: use strvec_pushv(), not argv assignment
115 + + upload-archive: use regular "struct child_process" pattern
116 + + worktree: stop being overly intimate with run_command() internals
117
107 -* cb/mingw-gmtime-r (2021-11-27) 1 commit
108 - (merged to 'next' on 2021-12-03 at 785278d40e)
109 - + mingw: avoid fallback for {local,gm}time_r()
118 + API clean-up.
119 + cf. <211130.86k0gpcpy2.gmgdl@evledraar.gmail.com>
120 + cf. <CAPig+cSvFgJTiq8pXrWy_7ukQwE1y9ZGwMgKmyjWuQHdNGxiDQ@mail.gmail.com>
121 + source: <cover-v3-0.9-00000000000-20211125T224833Z-avarab@gmail.com>
122
111 - Build fix on Windows.
112 - source: <pull.1142.v2.git.git.1638008132992.gitgitgadget@gmail.com>
123
124 +* ds/sparse-deep-pattern-checkout-fix (2021-12-06) 2 commits
125 + (merged to 'next' on 2021-12-07 at 7b7f74216a)
126 + + unpack-trees: use traverse_path instead of name
127 + + t1092: add deeper changes during a checkout
128
115 -* cw/protocol-v2-doc-fix (2021-11-11) 1 commit
116 - (merged to 'next' on 2021-12-02 at 59f42a7cfc)
117 - + protocol-v2.txt: align delim-pkt spec with usage
129 + The sparse-index/sparse-checkout feature had a bug in its use of
130 + the matching code to determine which path is in or outside the
131 + sparse checkout patterns.
132 + source: <pull.1092.v2.git.1638799837.gitgitgadget@gmail.com>
133
119 - Doc update.
120 - source: <20211111220048.1702896-1-calvinwan@google.com>
134
135 +* ds/trace2-regions-in-tests (2021-11-29) 2 commits
136 + (merged to 'next' on 2021-12-07 at ebf31cbaad)
137 + + t/t*: remove custom GIT_TRACE2_EVENT_NESTING
138 + + test-lib.sh: set GIT_TRACE2_EVENT_NESTING
139
123 -* em/missing-pager (2021-11-24) 1 commit
124 - (merged to 'next' on 2021-12-03 at 22ad721b52)
125 - + pager: fix crash when pager program doesn't exist
140 + The default setting for trace2 event nesting was too low to cause
141 + test failures, which is worked around by bumping it up in the test
142 + framework.
143 + source: <pull.1085.git.1638193666.gitgitgadget@gmail.com>
144
127 - When a non-existent program is given as the pager, we tried to
128 - reuse an uninitialized child_process structure and crashed, which
129 - has been fixed.
130 - source: <20211125000239.2336-1-ematsumiya@suse.de>
145
146 +* en/zdiff3 (2021-12-01) 2 commits
147 + (merged to 'next' on 2021-12-07 at baa3b24593)
148 + + update documentation for new zdiff3 conflictStyle
149 + + xdiff: implement a zealous diff3, or "zdiff3"
150
133 -* en/rebase-x-fix (2021-11-29) 1 commit
134 - (merged to 'next' on 2021-12-03 at a833829733)
135 - + sequencer: avoid adding exec commands for non-commit creating commands
151 + "Zealous diff3" style of merge conflict presentation has been added.
152 + source: <pull.1036.v5.git.git.1638317108.gitgitgadget@gmail.com>
153
137 - "git rebase -x" added an unnecessary 'exec' instructions before
138 - 'noop', which has been corrected.
139 - source: <pull.1149.git.git.1638244719381.gitgitgadget@gmail.com>
154
155 +* es/doc-stdout-vs-stderr (2021-12-04) 1 commit
156 + (merged to 'next' on 2021-12-07 at d6487c1256)
157 + + CodingGuidelines: document which output goes to stdout vs. stderr
158
142 -* gc/remote-with-fewer-static-global-variables (2021-11-18) 5 commits
143 - (merged to 'next' on 2021-12-02 at d7ea1696e5)
144 - + remote: die if branch is not found in repository
145 - + remote: remove the_repository->remote_state from static methods
146 - + remote: use remote_state parameter internally
147 - + remote: move static variables into per-repository struct
148 - + t5516: add test case for pushing remote refspecs
159 + Coding guideline document has been updated to clarify what goes to
160 + standard error in our system.
161 + source: <20211202223110.22062-1-sunshine@sunshineco.com>
162
150 - Code clean-up to eventually allow information on remotes defined
151 - for an arbitrary repository to be read.
152 - source: <20211118005325.64971-1-chooglen@google.com>
163
164 +* es/pretty-describe-more (2021-11-01) 3 commits
165 + (merged to 'next' on 2021-12-07 at e7862a34c8)
166 + + pretty: add abbrev option to %(describe)
167 + + pretty: add tag option to %(describe)
168 + + pretty.c: rework describe options parsing for better extensibility
169
155 -* hk/ci-checkwhitespace-commentfix (2021-11-19) 1 commit
156 - (merged to 'next' on 2021-12-02 at 971178fe99)
157 - + ci(check-whitespace): update stale file top comments
170 + Extend "git log --format=%(describe)" placeholder to allow passing
171 + selected command-line options to the underlying "git describe"
172 + command.
173 + source: <20211031171510.1646396-1-eschwartz@archlinux.org>
174
159 - Comment fix.
160 - source: <pull.1143.git.git.1637347813367.gitgitgadget@gmail.com>
175
176 +* es/worktree-chatty-to-stderr (2021-12-04) 2 commits
177 + (merged to 'next' on 2021-12-07 at 84ba7de37c)
178 + + git-worktree.txt: add missing `-v` to synopsis for `worktree list`
179 + + worktree: send "chatty" messages to stderr
180
163 -* hn/create-reflog-simplify (2021-11-22) 1 commit
164 - (merged to 'next' on 2021-12-02 at 87ff49b776)
165 - + refs: drop force_create argument of create_reflog API
166 - (this branch is used by hn/reftable-coverity-fixes.)
181 + "git worktree add" showed "Preparing worktree" message to the
182 + standard output stream, but when it failed, the message from die()
183 + went to the standard error stream. Depending on the order the
184 + stdio streams are flushed at the program end, this resulted in
185 + confusing output. It has been corrected by sending all the chatty
186 + messages to the standard error stream.
187 + source: <20211203034420.47447-1-sunshine@sunshineco.com>
188
168 - A small simplification of API.
169 - source: <pull.1144.git.git.1637590749342.gitgitgadget@gmail.com>
189
190 +* ew/cbtree-remove-unused-and-broken-cb-unlink (2021-12-07) 1 commit
191 + (merged to 'next' on 2021-12-07 at e37b4e16d0)
192 + + cbtree: remove broken and unused cb_unlink
193
172 -* if/redact-packfile-uri (2021-11-11) 2 commits
173 - (merged to 'next' on 2021-12-02 at 81213be9ac)
174 - + http-fetch: redact url on die() message
175 - + fetch-pack: redact packfile urls in traces
194 + Code clean-up.
195 + source: <20211207183810.688481-1-e@80x24.org>
196
177 - Redact the path part of packfile URI that appears in the trace output.
178 - source: <pull.1052.v7.git.1636588289.gitgitgadget@gmail.com>
197
198 +* ew/test-wo-fsync (2021-10-29) 1 commit
199 + (merged to 'next' on 2021-12-08 at 4b90e4870a)
200 + + tests: disable fsync everywhere
201
181 -* ja/doc-cleanup (2021-11-09) 10 commits
182 - (merged to 'next' on 2021-12-02 at f72204942f)
183 - + init doc: --shared=0xxx does not give umask but perm bits
184 - + doc: git-init: clarify file modes in octal.
185 - + doc: git-http-push: describe the refs as pattern pairs
186 - + doc: uniformize <URL> placeholders' case
187 - + doc: use three dots for indicating repetition instead of star
188 - + doc: git-ls-files: express options as optional alternatives
189 - + doc: use only hyphens as word separators in placeholders
190 - + doc: express grammar placeholders between angle brackets
191 - + doc: split placeholders as individual tokens
192 - + doc: fix git credential synopsis
202 + Allow running our tests while disabling fsync.
203 + Received a lukewarm reactions overall. Perhaps we should drop instead?
204 + source: <20211029001552.GA29647@dcvr>
205
194 - Doc update.
195 - source: <20211106184858.11500-1-jn.avila@free.fr>
206
207 +* fs/test-prereq (2021-12-01) 3 commits
208 + (merged to 'next' on 2021-12-07 at fc8a8e0006)
209 + + test-lib: make BAIL_OUT() work in tests and prereq
210 + + test-lib: introduce required prereq for test runs
211 + + test-lib: show missing prereq summary
212
198 -* jc/fix-first-object-walk (2021-10-29) 2 commits
199 - (merged to 'next' on 2021-12-02 at 43a5c1ec03)
200 - + docs: add headers in MyFirstObjectWalk
201 - + docs: fix places that break compilation in MyFirstObjectWalk
213 + The test framework learns to list unsatisfied test prerequisites,
214 + and optionally error out when prerequisites that are expected to be
215 + satisfied are not.
216 + source: <20211201085315.576865-1-fs@gigacodes.de>
217
203 - Doc update.
204 - source: <pull.1063.v3.git.1635537163.gitgitgadget@gmail.com>
218
219 +* hn/allow-bogus-oid-in-ref-tests (2021-12-07) 8 commits
220 + (merged to 'next' on 2021-12-08 at 8fb70ef68b)
221 + + t1430: create valid symrefs using test-helper
222 + + t1430: remove refs using test-tool
223 + + refs: introduce REF_SKIP_REFNAME_VERIFICATION flag
224 + + refs: introduce REF_SKIP_OID_VERIFICATION flag
225 + + refs: update comment.
226 + + test-ref-store: plug memory leak in cmd_delete_refs
227 + + test-ref-store: parse symbolic flag constants
228 + + test-ref-store: remove force-create argument for create-reflog
229
207 -* jk/fetch-pack-avoid-sigpipe-to-index-pack (2021-11-19) 1 commit
208 - (merged to 'next' on 2021-12-02 at e2cc1ae46a)
209 - + fetch-pack: ignore SIGPIPE when writing to index-pack
230 + The test helper for refs subsystem learned to write bogus and/or
231 + nonexistent object name to refs to simulate error situations we
232 + want to test Git in.
233 + source: <pull.1147.v4.git.git.1638884300.gitgitgadget@gmail.com>
234
211 - "git fetch", when received a bad packfile, can fail with SIGPIPE.
212 - This wasn't wrong per-se, but we now detect the situation and fail
213 - in a more predictable way.
214 - source: <YZgQD3lrw4+i4EMd@coredump.intra.peff.net>
235
236 +* hn/reflog-tests (2021-12-02) 5 commits
237 + (merged to 'next' on 2021-12-07 at 84d4e4b211)
238 + + refs/debug: trim trailing LF from reflog message
239 + + test-ref-store: tweaks to for-each-reflog-ent format
240 + + t1405: check for_each_reflog_ent_reverse() more thoroughly
241 + + test-ref-store: don't add newline to reflog message
242 + + show-branch: show reflog message
243
217 -* jk/jump-merge-with-pathspec (2021-11-09) 1 commit
218 - (merged to 'next' on 2021-12-02 at fea901973d)
219 - + git-jump: pass "merge" arguments to ls-files
244 + Prepare tests on ref API to help testing reftable backends.
245 + source: <pull.1145.v3.git.git.1638466593.gitgitgadget@gmail.com>
246
221 - The "merge" subcommand of "git jump" (in contrib/) silently ignored
222 - pathspec and other parameters.
223 - source: <YYqjY/zcBWyqY8/5@coredump.intra.peff.net>
247
248 +* hn/reftable (2021-10-08) 19 commits
249 + (merged to 'next' on 2021-12-03 at 767ec5d9b3)
250 + + Add "test-tool dump-reftable" command.
251 + + reftable: add dump utility
252 + + reftable: implement stack, a mutable database of reftable files.
253 + + reftable: implement refname validation
254 + + reftable: add merged table view
255 + + reftable: add a heap-based priority queue for reftable records
256 + + reftable: reftable file level tests
257 + + reftable: read reftable files
258 + + reftable: generic interface to tables
259 + + reftable: write reftable files
260 + + reftable: a generic binary tree implementation
261 + + reftable: reading/writing blocks
262 + + Provide zlib's uncompress2 from compat/zlib-compat.c
263 + + reftable: (de)serialization for the polymorphic record type.
264 + + reftable: add blocksource, an abstraction for random access reads
265 + + reftable: utility functions
266 + + reftable: add error related functionality
267 + + reftable: add LICENSE
268 + + hash.h: provide constants for the hash IDs
269 + (this branch is used by hn/reftable-coverity-fixes.)
270
226 -* jk/refs-g11-workaround (2021-11-19) 1 commit
227 - (merged to 'next' on 2021-12-02 at 1025235670)
228 - + refs: work around gcc-11 warning with REF_HAVE_NEW
271 + The "reftable" backend for the refs API, without integrating into
272 + the refs subsystem, has been added.
273 + source: <pull.1081.v4.git.git.1633638315.gitgitgadget@gmail.com>
274
230 - Workaround for a false-alarm by gcc-11
231 - source: <YZgW/pz6CbpaywDa@coredump.intra.peff.net>
275
276 +* hn/t1404-df-limitation-is-ref-files-only (2021-11-29) 1 commit
277 + (merged to 'next' on 2021-12-07 at 074438a4ba)
278 + + t1404: mark directory/file conflict tests with REFFILES
279
234 -* jk/strbuf-addftime-seconds-since-epoch (2021-11-04) 1 commit
235 - (merged to 'next' on 2021-12-02 at d0b158d899)
236 - + strbuf_addftime(): handle "%s" manually
280 + Test update.
281 + source: <pull.1148.v2.git.git.1638210022966.gitgitgadget@gmail.com>
282
238 - The "--date=format:<strftime>" gained a workaround for the lack of
239 - system support for a non-local timezone to handle "%s" placeholder.
240 - source: <YYEihoLbEGi44dDb@coredump.intra.peff.net>
283
284 +* jc/reflog-iterator-callback-doc (2021-11-28) 1 commit
285 + (merged to 'next' on 2021-12-08 at ba5693952d)
286 + + refs: document callback for reflog-ent iterators
287
243 -* jk/t5319-midx-corruption-test-deflake (2021-11-18) 1 commit
244 - (merged to 'next' on 2021-12-02 at 0ac4fd64aa)
245 - + t5319: corrupt more bytes of the midx checksum
288 + Document the parameters given to the reflog entry iterator callback
289 + functions.
290 + source: <xmqqk0gs5bgw.fsf@gitster.g>
291
247 - Test fix.
248 - source: <YZQk6t1veegeAlYh@coredump.intra.peff.net>
292
293 +* js/test-initial-branch-override-cleanup (2021-12-05) 1 commit
294 + (merged to 'next' on 2021-12-07 at 0ab3e72b4f)
295 + + tests: set GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME only when needed
296
251 -* jk/t7006-sigpipe-tests-fix (2021-11-22) 3 commits
252 - (merged to 'next' on 2021-12-02 at eefd61931f)
253 - + t7006: simplify exit-code checks for sigpipe tests
254 - + t7006: clean up SIGPIPE handling in trace2 tests
255 - + run-command: unify signal and regular logic for wait_or_whine()
297 + Many tests that used to need GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
298 + mechanism to force "git" to use 'master' as the default name for
299 + the initial branch no longer need it; the use of the mechanism from
300 + them have been removed.
301 + source: <pull.1089.git.1638524353230.gitgitgadget@gmail.com>
302
257 - The function to cull a child process and determine the exit status
258 - had two separate code paths for normal callers and callers in a
259 - signal handler, and the latter did not yield correct value when the
260 - child has caught a signal. The handling of the exit status has
261 - been unified for these two code paths. An existing test with
262 - flakiness has also been corrected.
263 - source: <YZrSALOrdhuunHwp@coredump.intra.peff.net>
303
304 +* re/color-default-reset (2021-10-28) 3 commits
305 + (merged to 'next' on 2021-12-08 at ab3ff50ce2)
306 + + color: allow colors to be prefixed with "reset"
307 + + color: support "default" to restore fg/bg color
308 + + color: add missing GIT_COLOR_* white/black constants
309
266 -* jk/test-bitmap-fix (2021-11-05) 1 commit
267 - (merged to 'next' on 2021-12-02 at c273d402fb)
268 - + test_bitmap_hashes(): handle repository without bitmaps
310 + "default" and "reset" colors have been added to our palette.
311 + Seems to have stalled, but I am OK to merge it as-is.
312 + cf. <881B4747-B0B5-459B-B673-06972275A8B8@gmail.com>
313 + source: <pull.1117.git.git.1635210227532.gitgitgadget@gmail.com>
314 + source: <pull.1116.git.git.1635201156.gitgitgadget@gmail.com>
315
270 - Tighten code for testing pack-bitmap.
271 - source: <YYTy6+DG5guzJIO7@coredump.intra.peff.net>
316
317 +* rj/receive-pack-avoid-sigpipe-during-status-reporting (2021-11-10) 1 commit
318 + (merged to 'next' on 2021-12-07 at 91039a781e)
319 + + receive-pack: ignore SIGPIPE while reporting status to client
320
274 -* js/ci-no-directional-formatting (2021-11-04) 1 commit
275 - (merged to 'next' on 2021-12-02 at bc756bc586)
276 - + ci: disallow directional formatting
321 + When the "git push" command is killed while the receiving end is
322 + trying to report what happened to the ref update proposals, the
323 + latter used to die, due to SIGPIPE. The code now ignores SIGPIPE
324 + to increase our chances to run the post-receive hook after it
325 + happens.
326 + source: <20211110092942.1648429-1-robin@jarry.cc>
327
278 - CI has been taught to catch some Unicode directional formatting
279 - sequence that can be used in certain mischief.
280 - source: <pull.1071.v3.git.1636031609982.gitgitgadget@gmail.com>
328
329 +* tb/pack-revindex-on-disk-cleanup (2021-12-04) 1 commit
330 + (merged to 'next' on 2021-12-07 at 912c270b70)
331 + + packfile: make `close_pack_revindex()` static
332
283 -* js/trace2-avoid-recursive-errors (2021-11-18) 1 commit
284 - (merged to 'next' on 2021-12-02 at c5b1e5ddec)
285 - + trace2: disable tr2_dst before warning on write errors
333 + Code clean-up.
334 + source: <dad2b73c84f1c1575a6bce04a449ee1236680b10.1638658219.git.me@ttaylorr.com>
335
287 - trace2 error code path fix.
288 - source: <5a9e49e7f1540d762374382e1769edf112cf093f.1637272706.git.steadmon@google.com>
336 +--------------------------------------------------
337 +[New Topics]
338
339 +* es/chainlint (2021-12-13) 15 commits
340 + (merged to 'next' on 2021-12-15 at 49b7a37334)
341 + + chainlint.sed: stop splitting "(..." into separate lines "(" and "..."
342 + + chainlint.sed: swallow comments consistently
343 + + chainlint.sed: stop throwing away here-doc tags
344 + + chainlint.sed: don't mistake `<< word` in string as here-doc operator
345 + + chainlint.sed: make here-doc "<<-" operator recognition more POSIX-like
346 + + chainlint.sed: drop subshell-closing ">" annotation
347 + + chainlint.sed: drop unnecessary distinction between ?!AMP?! and ?!SEMI?!
348 + + chainlint.sed: tolerate harmless ";" at end of last line in block
349 + + chainlint.sed: improve ?!SEMI?! placement accuracy
350 + + chainlint.sed: improve ?!AMP?! placement accuracy
351 + + t/Makefile: optimize chainlint self-test
352 + + t/chainlint/one-liner: avoid overly intimate chainlint.sed knowledge
353 + + t/chainlint/*.test: generalize self-test commentary
354 + + t/chainlint/*.test: fix invalid test cases due to mixing quote types
355 + + t/chainlint/*.test: don't use invalid shell syntax
356 +
357 + The chainlint test script linter in the test suite has been updated.
358
291 -* jt/midx-doc-fix (2021-11-22) 1 commit
292 - (merged to 'next' on 2021-12-02 at eac9f263ae)
293 - + Doc: no midx and partial clone relation
359 + Will merge to 'master'.
360 + source: <20211213063059.19424-1-sunshine@sunshineco.com>
361
295 - Docfix.
296 - source: <20211122184114.3328662-1-jonathantanmy@google.com>
362
363 +* jh/p4-rcs-expansion-in-bytestring (2021-12-13) 4 commits
364 + - git-p4: resolve RCS keywords in binary
365 + - git-p4: add raw option to read_pipelines
366 + - git-p4: pre-compile RCS keyword regexes
367 + - git-p4: use with statements to close files after use in patchRCSKeywords
368
299 -* jt/pack-header-lshift-overflow (2021-11-11) 1 commit
300 - (merged to 'next' on 2021-12-02 at 89c37479db)
301 - + packfile: avoid overflowing shift during decode
369 + The RCS keyword substitution in "git p4" used to be done assuming
370 + that the contents are UTF-8 text, which can trigger decoding
371 + errors. We now treat the contents as a bytestring for robustness
372 + and correctness.
373
303 - The code to decode the length of packed object size has been
304 - corrected.
305 - source: <20211110234033.3144165-1-jonathantanmy@google.com>
374 + Will merge to 'next'?
375 + source: <20211213225441.1865782-1-jholdsworth@nvidia.com>
376
377
308 -* mp/absorb-submodule-git-dir-upon-deinit (2021-11-19) 1 commit
309 - (merged to 'next' on 2021-12-03 at afc462a692)
310 - + submodule: absorb git dir instead of dying on deinit
378 +* jz/apply-quiet-and-allow-empty (2021-12-13) 2 commits
379 + (merged to 'next' on 2021-12-15 at e3f643eaa3)
380 + + git-apply: add --allow-empty flag
381 + + git-apply: add --quiet flag
382
312 - "git submodule deinit" for a submodule whose .git metadata
313 - directory is embedded in its working tree refused to work, until
314 - the submodule gets converted to use the "absorbed" form where the
315 - metadata directory is stored in superproject, and a gitfile at the
316 - top-level of the working tree of the submodule points at it. The
317 - command is taught to convert such submodules to the absorbed form
318 - as needed.
319 - source: <pull.1078.v7.git.git.1637319387717.gitgitgadget@gmail.com>
383 + "git apply" has been taught to ignore a message without a patch
384 + with the "--allow-empty" option. It also learned to honor the
385 + "--quiet" option given from the command line.
386
387 + Will merge to 'master'.
388 + source: <20211213220327.16042-2-jerry@skydio.com>
389
322 -* po/size-t-for-vs (2021-12-01) 3 commits
323 - (merged to 'next' on 2021-12-02 at 489c5b0046)
324 - + object-file.c: LLP64 compatibility, upcast unity for left shift
325 - + diffcore-delta.c: LLP64 compatibility, upcast unity for left shift
326 - + repack.c: LLP64 compatibility, upcast unity for left shift
390
328 - On platforms where ulong is shorter than size_t, code paths that
329 - shifted 1 or 1U to the left lacked the necessary cast to size_t,
330 - which have been corrected.
331 - source: <20211201002902.1042-4-philipoakley@iee.email>
391 +* ds/sparse-checkout-malformed-pattern-fix (2021-12-15) 3 commits
392 + - sparse-checkout: refuse to add to bad patterns
393 + - sparse-checkout: fix OOM error with mixed patterns
394 + - sparse-checkout: fix segfault on malformed patterns
395
396 + source: <pull.1069.v3.git.1639575968.gitgitgadget@gmail.com>
397
334 -* rs/mergesort (2021-11-18) 1 commit
335 - (merged to 'next' on 2021-12-02 at 0490b0ffbd)
336 - + mergesort: avoid left shift overflow
398
338 - Bitop fix for platforms whose "long" is 32-bit.
339 - source: <5eabbe1c-4c0f-559a-da21-423afec89e7e@web.de>
399 +* gc/branch-recurse-submodules (2021-12-15) 6 commits
400 + - branch.c: replace questionable exit() codes
401 + - branch: add --recurse-submodules option for branch creation
402 + - builtin/branch: clean up action-picking logic in cmd_branch()
403 + - branch: remove forward declaration of validate_branch_start()
404 + - branch: move --set-upstream-to behavior to setup_tracking()
405 + - Merge branch 'js/branch-track-inherit' into gc/branch-recurse-submodules
406 + (this branch uses js/branch-track-inherit.)
407
408 + source: <20211209184928.71413-1-chooglen@google.com>
409
342 -* tl/midx-docfix (2021-11-18) 1 commit
343 - (merged to 'next' on 2021-12-02 at 0fae3ebdef)
344 - + midx: fix a formatting issue in "multi-pack-index.txt"
410
346 - Doc mark-up fix.
347 - source: <9b910a44f4143c94787110a688f2b17ba4eeb0fc.1637218943.git.dyroneteng@gmail.com>
411 +* jk/ssh-signing-doc-markup-fix (2021-12-15) 1 commit
412 + - doc/config: mark ssh allowedSigners example as literal
413
414 + source: <YboWlOG3vZD/7Osx@coredump.intra.peff.net>
415
350 -* tw/var-default-branch (2021-11-03) 1 commit
351 - (merged to 'next' on 2021-12-02 at 944512852e)
352 - + var: add GIT_DEFAULT_BRANCH variable
416
354 - "git var GIT_DEFAULT_BRANCH" is a way to see what name is used for
355 - the newly created branch if "git init" is run.
356 - source: <20211103201702.117771-1-thomas@t-8ch.de>
417 +* jv/use-larger-buffer-in-upload-pack (2021-12-15) 1 commit
418 + - upload-pack.c: increase output buffer size
419
420 + source: <20211214194626.33814-1-jacob@gitlab.com>
421
359 -* vd/sparse-reset (2021-11-29) 8 commits
360 - (merged to 'next' on 2021-12-02 at 47b1095f39)
361 - + unpack-trees: improve performance of next_cache_entry
362 - + reset: make --mixed sparse-aware
363 - + reset: make sparse-aware (except --mixed)
364 - + reset: integrate with sparse index
365 - + reset: expand test coverage for sparse checkouts
366 - + sparse-index: update command for expand/collapse test
367 - + reset: preserve skip-worktree bit in mixed reset
368 - + reset: rename is_missing to !is_in_reset_tree
369 - (this branch is used by ds/fetch-pull-with-sparse-index and ld/sparse-diff-blame.)
422 +--------------------------------------------------
423 +[Stalled]
424
371 - Various operating modes of "git reset" have been made to work
372 - better with the sparse index.
373 - source: <pull.1048.v6.git.1638201164.gitgitgadget@gmail.com>
425 +* cb/save-term-across-editor-invocation (2021-12-01) 3 commits
426 + - fixup! editor: allow for saving/restoring terminal state
427 + - editor: allow for saving/restoring terminal state
428 + - terminal: teach save_term to fail when not foreground
429
430 + Some editors are reported to leave the terminal in funny state
431 + after they exit on Windows. Work it around by saving and restoring
432 + the terminal state when needed.
433
376 -* vd/sparse-sparsity-fix-on-read (2021-11-24) 4 commits
377 - (merged to 'next' on 2021-12-02 at 1ec68669cb)
378 - + sparse-index: update do_read_index to ensure correct sparsity
379 - + sparse-index: add ensure_correct_sparsity function
380 - + sparse-index: avoid unnecessary cache tree clearing
381 - + test-read-cache.c: prepare_repo_settings after config init
434 + Expecting a reroll.
435 + cf. <CAPUEsphktbdxeV7hvF52Or3CVHS8oOk5-WV=xfEZa8kfCVVnVg@mail.gmail.com>
436 + source: <20211202035446.1154-1-carenas@gmail.com>
437
383 - Ensure that the sparseness of the in-core index matches the
384 - index.sparse configuration specified by the repository immediately
385 - after the on-disk index file is read.
386 - source: <pull.1059.v5.git.1637626833.gitgitgadget@gmail.com>
438
439 +* ar/submodule-update (2021-10-13) 9 commits
440 + . submodule--helper: rename helper functions
441 + . submodule--helper: remove unused helpers
442 + . submodule: move core cmd_update() logic to C
443 + . submodule--helper: run update using child process struct
444 + . submodule--helper: allow setting superprefix for init_submodule()
445 + . submodule--helper: refactor get_submodule_displaypath()
446 + . submodule--helper: rename helpers for update-clone
447 + . submodule--helper: get remote names from any repository
448 + . submodule--helper: split up ensure_core_worktree()
449
389 -* yn/complete-date-format-options (2021-11-25) 1 commit
390 - (merged to 'next' on 2021-12-03 at 4f37a904a1)
391 - + completion: add human and auto: date format
450 + Rewrite of "git submodule update" in C.
451
393 - The completion script (in contrib/) learns that the "--date"
394 - option of commands from the "git log" family takes "human" and
395 - "auto" as valid values.
396 - source: <pull.1083.git.1637666875171.gitgitgadget@gmail.com>
452 + Expecting a reroll?
453 + cf. <YWiXL+plA7GHfuVv@google.com>
454 + source: <20211013051805.45662-10-raykar.ath@gmail.com>
455
456 --------------------------------------------------
399 -[New Topics]
457 +[Cooking]
458
401 -* en/sparse-checkout-set (2021-12-08) 10 commits
459 +* en/sparse-checkout-set (2021-12-15) 10 commits
460 - clone: avoid using deprecated `sparse-checkout init`
461 - Documentation: clarify/correct a few sparsity related statements
462 - git-sparse-checkout.txt: update to document init/set/reapply changes
@@ -410,68 +468,63 @@ Release tarballs are available at:
468 - sparse-checkout: break apart functions for sparse_checkout_(set|add)
469 - sparse-checkout: pass use_stdin as a parameter instead of as a global
470
413 -
471 The "init" and "set" subcommands in "git sparse-checkout" have been
472 unified for a better user experience and performance.
473
417 - Need to check the reroll.
418 - cf. <pull.1151.v3.git.git.1639108573.gitgitgadget@gmail.com>
419 - source: <pull.1151.v2.git.git.1638908410.gitgitgadget@gmail.com>
474 + Will merge to 'next'.
475 + source: <pull.1151.v4.git.git.1639454952.gitgitgadget@gmail.com>
476
477
422 -* hn/reftable-coverity-fixes (2021-12-08) 13 commits
478 +* hn/reftable-coverity-fixes (2021-12-15) 13 commits
479 - reftable: make reftable_record a tagged union
480 - reftable: handle null refnames in reftable_ref_record_equal
481 - reftable: drop stray printf in readwrite_test
482 - reftable: order unittests by complexity
427 - - reftable: fix NULL derefs in error paths
483 + - reftable: all xxx_free() functions accept NULL arguments
484 - reftable: fix resource warning
485 - reftable: ignore remove() return value in stack_test.c
486 - reftable: check reftable_stack_auto_compact() return value
487 - reftable: fix resource leak blocksource.c
432 - - reftable: fix resource leak in error path
488 + - reftable: fix resource leak in block.c error path
489 - reftable: fix OOB stack write in print functions
490 - Merge branch 'hn/create-reflog-simplify' into hn/reftable-coverity-fixes
491 - Merge branch 'hn/reftable' into hn/reftable-coverity-fixes
436 - (this branch uses hn/reftable.)
492
493 Problems identified by Coverity in the reftable code have been
494 corrected.
495
441 - source: <pull.1152.v2.git.git.1639000187.gitgitgadget@gmail.com>
442 -
443 -
444 -* jc/make-test-all (2021-12-08) 1 commit
445 - - Makefile: add test-all target
446 -
447 - "make test" target in subdirectories of contrib/ are now exercised
448 - in CI tests.
449 -
450 - source: <xmqqh7bi27o9.fsf@gitster.g>
496 + Will merge to 'next'?
497 + source: <pull.1152.v4.git.git.1639482476.gitgitgadget@gmail.com>
498
499
500 * jk/limit-developers-to-gnu99 (2021-12-08) 2 commits
454 - - config.mak.dev: specify -std=gnu99 for gcc/clang
455 - - Merge branch 'bc/require-c99' into jk/limit-developers-to-gnu99
501 + (merged to 'next' on 2021-12-15 at 6b40e01445)
502 + + config.mak.dev: specify -std=gnu99 for gcc/clang
503 + + Merge branch 'bc/require-c99' into jk/limit-developers-to-gnu99
504
505 Enable -std=gnu99 option in DEVELOPER builds.
506
459 - Will merge to 'next'.
507 + Will merge to 'master'.
508 source: <YbEMnksMEuAz3Nt0@coredump.intra.peff.net>
509
510
463 -* tb/midx-bitmap-corruption-fix (2021-12-08) 2 commits
511 +* tb/midx-bitmap-corruption-fix (2021-12-15) 9 commits
512 + - fixup! midx: read `RIDX` chunk when present
513 + - midx: read `RIDX` chunk when present
514 + - t/lib-bitmap.sh: parameterize tests over reverse index source
515 + - t5326: move tests to t/lib-bitmap.sh
516 + - t5326: extract `test_rev_exists`
517 + - t5326: drop unnecessary setup
518 + - pack-revindex.c: instrument loading on-disk reverse index
519 - midx.c: make changing the preferred pack safe
520 - t5326: demonstrate bitmap corruption after permutation
521
522 A bug that made multi-pack bitmap and the object order out-of-sync
523 (hence the .midx data gets corrupted) has been fixed.
469 -
470 - Will merge to 'next'?
471 - source: <cover.1638991570.git.me@ttaylorr.com>
524 + source: <cover.1639446906.git.me@ttaylorr.com>
525
526
474 -* es/test-chain-lint (2021-12-09) 19 commits
527 +* es/test-chain-lint (2021-12-13) 19 commits
528 - t6000-t9999: detect and signal failure within loop
529 - t5000-t5999: detect and signal failure within loop
530 - t4000-t4999: detect and signal failure within loop
@@ -494,71 +547,20 @@ Release tarballs are available at:
547
548 Broken &&-chains in the test scripts have been corrected.
549
497 - Will merge to 'next'?
550 + Will merge to 'next'.
551 source: <20211209051115.52629-1-sunshine@sunshineco.com>
552
553
554 * jc/flex-array-definition (2021-12-08) 1 commit
502 - - flex-array: simplify compiler-specific workaround
503 -
504 - The conditions to choose different definitions of the FLEX_ARRAY
505 - macro for vendor compilers has been simplified to make it easier to
506 - maintain.
507 -
508 - Will merge to 'next'?
509 - source: <pull.1094.git.1638823724410.gitgitgadget@gmail.com>
510 -
511 -
512 -* jh/make-p4-python3-only (2021-12-09) 6 commits
513 - - git-p4: Resolve RCS keywords in binary
514 - - git-p4: Eliminate decode_stream and encode_stream
515 - - git-p4: Decode byte strings before printing
516 - - git-p4: Removed support for Python 2
517 - - git-p4: Don't print shell commands as python lists
518 - - git-p4: Always pass cmd arguments to subprocess as a python lists
519 -
520 - Support for Python2 in "git p4" has been removed (not just
521 - deprecated).
522 -
523 - Need to check the reroll.
524 - cf. <20211210153101.35433-1-jholdsworth@nvidia.com>
525 - source: <20211209201029.136886-1-jholdsworth@nvidia.com>
526 -
527 ---------------------------------------------------
528 -[Stalled]
529 -
530 -* ar/submodule-update (2021-10-13) 9 commits
531 - . submodule--helper: rename helper functions
532 - . submodule--helper: remove unused helpers
533 - . submodule: move core cmd_update() logic to C
534 - . submodule--helper: run update using child process struct
535 - . submodule--helper: allow setting superprefix for init_submodule()
536 - . submodule--helper: refactor get_submodule_displaypath()
537 - . submodule--helper: rename helpers for update-clone
538 - . submodule--helper: get remote names from any repository
539 - . submodule--helper: split up ensure_core_worktree()
540 -
541 - Rewrite of "git submodule update" in C.
542 -
543 - Expecting a reroll?
544 - cf. <YWiXL+plA7GHfuVv@google.com>
545 - source: <20211013051805.45662-10-raykar.ath@gmail.com>
546 -
547 -
548 -* ms/customizable-ident-expansion (2021-09-01) 1 commit
549 - - keyword expansion: make "$Id$" string configurable
555 + - flex-array: simplify compiler-specific workaround
556
551 - Instead of "$Id$", user-specified string (like $FreeBSD$) can be
552 - used as an in-blob placeholder for keyword expansion.
557 + The conditions to choose different definitions of the FLEX_ARRAY
558 + macro for vendor compilers has been simplified to make it easier to
559 + maintain.
560
554 - Will discard.
555 - Stalled for too long.
556 - cf. <xmqqfsuosvrh.fsf@gitster.g>
557 - cf. <211101.86fssf3bn3.gmgdl@evledraar.gmail.com>
558 - source: <pull.1074.v3.git.git.1630462385587.gitgitgadget@gmail.com>
561 + Will merge to 'next'?
562 + source: <pull.1094.git.1638823724410.gitgitgadget@gmail.com>
563
560 ---------------------------------------------------
561 -[Cooking]
564
565 * pw/fix-some-issues-in-reset-head (2021-12-08) 14 commits
566 - rebase -m: don't fork git checkout
@@ -596,40 +598,6 @@ Release tarballs are available at:
598 source: <20211202102855.23907-1-jengelh@inai.de>
599
600
599 -* es/doc-stdout-vs-stderr (2021-12-04) 1 commit
600 - (merged to 'next' on 2021-12-07 at d6487c1256)
601 - + CodingGuidelines: document which output goes to stdout vs. stderr
602 -
603 - Coding guideline document has been updated to clarify what goes to
604 - standard error i nour system.
605 -
606 - Will merge to 'master'.
607 - source: <20211202223110.22062-1-sunshine@sunshineco.com>
608 -
609 -
610 -* tb/pack-revindex-on-disk-cleanup (2021-12-04) 1 commit
611 - (merged to 'next' on 2021-12-07 at 912c270b70)
612 - + packfile: make `close_pack_revindex()` static
613 -
614 - Code clean-up.
615 -
616 - Will merge to 'master'.
617 - source: <dad2b73c84f1c1575a6bce04a449ee1236680b10.1638658219.git.me@ttaylorr.com>
618 -
619 -
620 -* ds/sparse-deep-pattern-checkout-fix (2021-12-06) 2 commits
621 - (merged to 'next' on 2021-12-07 at 7b7f74216a)
622 - + unpack-trees: use traverse_path instead of name
623 - + t1092: add deeper changes during a checkout
624 -
625 - The sparse-index/sparse-checkout feature had a bug in its use of
626 - the matching code to determine which path is in or outside the
627 - sparse checkout patterns.
628 -
629 - Will merge to 'master'.
630 - source: <pull.1092.v2.git.1638799837.gitgitgadget@gmail.com>
631 -
632 -
601 * en/name-rev-shorter-output (2021-12-04) 1 commit
602 (merged to 'next' on 2021-12-10 at ae8ec3912f)
603 + name-rev: prefer shorter names over following merges
@@ -653,22 +621,6 @@ Release tarballs are available at:
621 source: <pull.1134.v3.git.git.1638596219656.gitgitgadget@gmail.com>
622
623
656 -* es/worktree-chatty-to-stderr (2021-12-04) 2 commits
657 - (merged to 'next' on 2021-12-07 at 84ba7de37c)
658 - + git-worktree.txt: add missing `-v` to synopsis for `worktree list`
659 - + worktree: send "chatty" messages to stderr
660 -
661 - "git worktree add" showed "Preparing worktree" message to the
662 - standard output stream, but when it failed, the message from die()
663 - went to the standard error stream. Depending on the order the
664 - stdio streams are flushed at the program end, this resulted in
665 - confusing output. It has been corrected by sending all the chatty
666 - messages to the standard error stream.
667 -
668 - Will merge to 'master'.
669 - source: <20211203034420.47447-1-sunshine@sunshineco.com>
670 -
671 -
624 * ja/i18n-similar-messages (2021-12-05) 10 commits
625 - i18n: ref-filter: factorize "%(foo) atom used without %(bar) atom"
626 - i18n: factorize "--foo outside a repository"
@@ -688,32 +640,6 @@ Release tarballs are available at:
640 source: <pull.1088.git.1638514909.gitgitgadget@gmail.com>
641
642
691 -* js/test-initial-branch-override-cleanup (2021-12-05) 1 commit
692 - (merged to 'next' on 2021-12-07 at 0ab3e72b4f)
693 - + tests: set GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME only when needed
694 -
695 - Many tests that used to need GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
696 - mechanism to force "git" to use 'master' as the default name for
697 - the initial branch no longer need it; the use of the mechanism from
698 - them have been removed.
699 -
700 - Will merge to 'master'.
701 - source: <pull.1089.git.1638524353230.gitgitgadget@gmail.com>
702 -
703 -
704 -* ab/die-with-bug (2021-12-07) 4 commits
705 - (merged to 'next' on 2021-12-08 at 9b7440fafd)
706 - + object.c: use BUG(...) no die("BUG: ...") in lookup_object_by_type()
707 - + pathspec: use BUG(...) not die("BUG:%s:%d....", <file>, <line>)
708 - + strbuf.h: use BUG(...) not die("BUG: ...")
709 - + pack-objects: use BUG(...) not die("BUG: ...")
710 -
711 - Code clean-up.
712 -
713 - Will merge to 'master'.
714 - source: <cover-v2-0.4-00000000000-20211207T110440Z-avarab@gmail.com>
715 -
716 -
643 * ab/usage-die-message (2021-12-07) 6 commits
644 - config API: use get_error_routine(), not vreportf()
645 - usage.c + gc: add and use a die_message_errno()
@@ -728,43 +654,26 @@ Release tarballs are available at:
654 source: <cover-v2-0.6-00000000000-20211207T182419Z-avarab@gmail.com>
655
656
731 -* js/compat-util-msvc-flex-array (2021-12-06) 1 commit
732 - - git-compat-util(msvc): C11 does not imply support for zero-sized arrays
733 -
734 - MSVC build started to break on flex arrays?
735 -
736 - Will merge to 'next'?
737 - source: <pull.1094.git.1638823724410.gitgitgadget@gmail.com>
738 -
739 -
657 * ab/common-main-cleanup (2021-12-07) 1 commit
741 - - common-main.c: call exit(), don't return
658 + (merged to 'next' on 2021-12-15 at ff08c86f65)
659 + + common-main.c: call exit(), don't return
660
661 Code clean-up.
662
745 - Will merge to 'next'?
663 + Will merge to 'master'.
664 source: <patch-v2-1.1-4f52ecc94ba-20211207T101207Z-avarab@gmail.com>
665
666
667 * ab/fetch-set-upstream-while-detached (2021-12-07) 1 commit
750 - - pull, fetch: fix segfault in --set-upstream option
668 + (merged to 'next' on 2021-12-15 at d0406f880a)
669 + + pull, fetch: fix segfault in --set-upstream option
670
671 "git fetch --set-upstream" did not check if there is a current
672 branch, leading to a segfault when it is run on a detached HEAD,
673 which has been corrected.
674
756 - Will merge to 'next'.
757 - source: <patch-v5-1.1-69ab40d623b-20211207T215115Z-avarab@gmail.com>
758 -
759 -
760 -* ew/cbtree-remove-unused-and-broken-cb-unlink (2021-12-07) 1 commit
761 - (merged to 'next' on 2021-12-07 at e37b4e16d0)
762 - + cbtree: remove broken and unused cb_unlink
763 -
764 - Code clean-up.
765 -
675 Will merge to 'master'.
767 - source: <20211207183810.688481-1-e@80x24.org>
676 + source: <patch-v5-1.1-69ab40d623b-20211207T215115Z-avarab@gmail.com>
677
678
679 * ab/cat-file (2021-12-08) 10 commits
@@ -798,8 +707,7 @@ Release tarballs are available at:
707 source: <cover-v4-0.7-00000000000-20211203T101348Z-avarab@gmail.com>
708
709
801 -* js/use-builtin-add-i (2021-12-08) 3 commits
802 - - fixup! add -i: default to the built-in implementation
710 +* js/use-builtin-add-i (2021-12-01) 2 commits
711 - add -i: default to the built-in implementation
712 - t2016: require the PERL prereq only when necessary
713
@@ -813,16 +721,14 @@ Release tarballs are available at:
721 source: <pull.1087.git.1638281655.gitgitgadget@gmail.com>
722
723
816 -* jt/conditional-config-on-remote-url (2021-12-04) 2 commits
724 +* jt/conditional-config-on-remote-url (2021-12-15) 2 commits
725 - config: include file if remote URL matches a glob
726 - config: make git_config_include() static
727
728 The conditional inclusion mechanism of configuration files using
729 "[includeIf <condition>]" learns to base its decision on the
730 URL of the remote repository the repository interacts with.
823 -
824 - Needs review.
825 - source: <cover.1638487815.git.jonathantanmy@google.com>
731 + source: <cover.1639509048.git.jonathantanmy@google.com>
732
733
734 * tb/cruft-packs (2021-11-29) 17 commits
@@ -853,20 +759,6 @@ Release tarballs are available at:
759 source: <cover.1638224692.git.me@ttaylorr.com>
760
761
856 -* cb/save-term-across-editor-invocation (2021-12-01) 3 commits
857 - - fixup! editor: allow for saving/restoring terminal state
858 - - editor: allow for saving/restoring terminal state
859 - - terminal: teach save_term to fail when not foreground
860 -
861 - Some editors are reported to leave the terminal in funny state
862 - after they exit on Windows. Work it around by saving and restoring
863 - the terminal state when needed.
864 -
865 - Expecting a reroll.
866 - cf. <CAPUEsphktbdxeV7hvF52Or3CVHS8oOk5-WV=xfEZa8kfCVVnVg@mail.gmail.com>
867 - source: <20211202035446.1154-1-carenas@gmail.com>
868 -
869 -
762 * jk/log-decorate-opts-with-implicit-decorate (2021-12-01) 2 commits
763 (merged to 'next' on 2021-12-10 at 80585b2755)
764 + log: load decorations with --simplify-by-decoration
@@ -909,150 +801,49 @@ Release tarballs are available at:
801 source: <patch-v5-6.6-78bb0995f08-20211125T215529Z-avarab@gmail.com>
802
803
912 -* ds/trace2-regions-in-tests (2021-11-29) 2 commits
913 - (merged to 'next' on 2021-12-07 at ebf31cbaad)
914 - + t/t*: remove custom GIT_TRACE2_EVENT_NESTING
915 - + test-lib.sh: set GIT_TRACE2_EVENT_NESTING
916 -
917 - The default setting for trace2 event nesting was too low to cause
918 - test failures, which is worked around by bumping it up in the test
919 - framework.
920 -
921 - Will merge to 'master'.
922 - source: <pull.1085.git.1638193666.gitgitgadget@gmail.com>
923 -
924 -
925 -* hn/allow-bogus-oid-in-ref-tests (2021-12-07) 8 commits
926 - (merged to 'next' on 2021-12-08 at 8fb70ef68b)
927 - + t1430: create valid symrefs using test-helper
928 - + t1430: remove refs using test-tool
929 - + refs: introduce REF_SKIP_REFNAME_VERIFICATION flag
930 - + refs: introduce REF_SKIP_OID_VERIFICATION flag
931 - + refs: update comment.
932 - + test-ref-store: plug memory leak in cmd_delete_refs
933 - + test-ref-store: parse symbolic flag constants
934 - + test-ref-store: remove force-create argument for create-reflog
935 -
936 - The test helper for refs subsystem learned to write bogus and/or
937 - nonexistent object name to refs to simulate error situations we
938 - want to test Git in.
939 -
940 - Will merge to 'master'.
941 - source: <pull.1147.v4.git.git.1638884300.gitgitgadget@gmail.com>
942 -
943 -
944 -* hn/t1404-df-limitation-is-ref-files-only (2021-11-29) 1 commit
945 - (merged to 'next' on 2021-12-07 at 074438a4ba)
946 - + t1404: mark directory/file conflict tests with REFFILES
947 -
948 - Test update.
949 -
950 - Will merge to 'master'.
951 - source: <pull.1148.v2.git.git.1638210022966.gitgitgadget@gmail.com>
952 -
953 -
954 -* jc/reflog-iterator-callback-doc (2021-11-28) 1 commit
955 - (merged to 'next' on 2021-12-08 at ba5693952d)
956 - + refs: document callback for reflog-ent iterators
957 -
958 - Document the parameters given to the reflog entry iterator callback
959 - functions.
960 -
961 - Will merge to 'master'.
962 - source: <xmqqk0gs5bgw.fsf@gitster.g>
963 -
964 -
804 * jc/grep-patterntype-default-doc (2021-12-05) 1 commit
805 (merged to 'next' on 2021-12-10 at e46385ad9d)
967 - + grep: clarify what `grep.patternType=default` means
968 -
969 - Doc update.
970 -
971 - Will merge to 'master'.
972 - source: <xmqqy24ykdel.fsf_-_@gitster.g>
973 -
974 -
975 -* ab/ci-updates (2021-11-23) 5 commits
976 - (merged to 'next' on 2021-12-07 at 1d855a6b33)
977 - + CI: don't run "make test" twice in one job
978 - + CI: use "$runs_on_pool", not "$jobname" to select packages & config
979 - + CI: rename the "Linux32" job to lower-case "linux32"
980 - + CI: use shorter names that fit in UX tooltips
981 - + CI: remove Travis CI support
982 -
983 - Drop support for TravisCI and update test workflows at GitHub.
984 -
985 - Will merge to 'master'.
986 - source: <cover-v4-0.5-00000000000-20211123T134300Z-avarab@gmail.com>
987 -
988 -
989 -* en/keep-cwd (2021-12-09) 11 commits
990 - - t2501: simplify the tests since we can now assume desired behavior
991 - - dir: new flag to remove_dir_recurse() to spare the original_cwd
992 - - dir: avoid incidentally removing the original_cwd in remove_path()
993 - - stash: do not attempt to remove startup_info->original_cwd
994 - - rebase: do not attempt to remove startup_info->original_cwd
995 - - clean: do not attempt to remove startup_info->original_cwd
996 - - symlinks: do not include startup_info->original_cwd in dir removal
997 - - unpack-trees: add special cwd handling
998 - - unpack-trees: refuse to remove startup_info->original_cwd
999 - - setup: introduce startup_info->original_cwd
1000 - - t2501: add various tests for removing the current working directory
1001 -
1002 - Many git commands that deal with working tree files try to remove a
1003 - directory that becomes empty (i.e. "git switch" from a branch that
1004 - has the directory to another branch that does not would attempt
1005 - remove all files in the directory and the directory itself). This
1006 - drops users into an unfamiliar situation if the command was run in
1007 - a subdirectory that becomes subject to removal due to the command.
1008 - The commands have been taught to keep an empty directory if it is
1009 - the directory they were started in to avoid surprising users.
1010 -
1011 - Will merge to 'next'?
1012 - source: <pull.1140.v6.git.git.1639026515.gitgitgadget@gmail.com>
1013 -
1014 -
1015 -* ab/run-command (2021-11-25) 9 commits
1016 - (merged to 'next' on 2021-12-07 at 5c0bedf853)
1017 - + run-command API: remove "env" member, always use "env_array"
1018 - + difftool: use "env_array" to simplify memory management
1019 - + run-command API: remove "argv" member, always use "args"
1020 - + run-command API users: use strvec_push(), not argv construction
1021 - + run-command API users: use strvec_pushl(), not argv construction
1022 - + run-command tests: use strvec_pushv(), not argv assignment
1023 - + run-command API users: use strvec_pushv(), not argv assignment
1024 - + upload-archive: use regular "struct child_process" pattern
1025 - + worktree: stop being overly intimate with run_command() internals
1026 -
1027 - API clean-up.
1028 -
1029 - Will merge to 'master'.
1030 - cf. <211130.86k0gpcpy2.gmgdl@evledraar.gmail.com>
1031 - cf. <CAPig+cSvFgJTiq8pXrWy_7ukQwE1y9ZGwMgKmyjWuQHdNGxiDQ@mail.gmail.com>
1032 - source: <cover-v3-0.9-00000000000-20211125T224833Z-avarab@gmail.com>
1033 -
1034 -
1035 -* hn/reflog-tests (2021-12-02) 5 commits
1036 - (merged to 'next' on 2021-12-07 at 84d4e4b211)
1037 - + refs/debug: trim trailing LF from reflog message
1038 - + test-ref-store: tweaks to for-each-reflog-ent format
1039 - + t1405: check for_each_reflog_ent_reverse() more thoroughly
1040 - + test-ref-store: don't add newline to reflog message
1041 - + show-branch: show reflog message
806 + + grep: clarify what `grep.patternType=default` means
807
1043 - Prepare tests on ref API to help testing reftable backends.
808 + Doc update.
809
810 Will merge to 'master'.
1046 - source: <pull.1145.v3.git.git.1638466593.gitgitgadget@gmail.com>
811 + source: <xmqqy24ykdel.fsf_-_@gitster.g>
812 +
813 +
814 +* en/keep-cwd (2021-12-09) 11 commits
815 + - t2501: simplify the tests since we can now assume desired behavior
816 + - dir: new flag to remove_dir_recurse() to spare the original_cwd
817 + - dir: avoid incidentally removing the original_cwd in remove_path()
818 + - stash: do not attempt to remove startup_info->original_cwd
819 + - rebase: do not attempt to remove startup_info->original_cwd
820 + - clean: do not attempt to remove startup_info->original_cwd
821 + - symlinks: do not include startup_info->original_cwd in dir removal
822 + - unpack-trees: add special cwd handling
823 + - unpack-trees: refuse to remove startup_info->original_cwd
824 + - setup: introduce startup_info->original_cwd
825 + - t2501: add various tests for removing the current working directory
826 +
827 + Many git commands that deal with working tree files try to remove a
828 + directory that becomes empty (i.e. "git switch" from a branch that
829 + has the directory to another branch that does not would attempt
830 + remove all files in the directory and the directory itself). This
831 + drops users into an unfamiliar situation if the command was run in
832 + a subdirectory that becomes subject to removal due to the command.
833 + The commands have been taught to keep an empty directory if it is
834 + the directory they were started in to avoid surprising users.
835
836 + Will merge to 'next'?
837 + source: <pull.1140.v6.git.git.1639026515.gitgitgadget@gmail.com>
838
1049 -* tl/ls-tree-oid-only (2021-11-22) 1 commit
1050 - - ls-tree.c: support `--oid-only` option for "git-ls-tree"
839 +
840 +* tl/ls-tree-oid-only (2021-12-15) 1 commit
841 + - ls-tree.c: support `--object-only` option for "git-ls-tree"
842
843 "git ls-tree" learns "--oid-only" option, similar to "--name-only".
844
845 Expecting a reroll.
1055 - source: <6c15b4c176b7c03072fa59a4efd9f6fea7d62eae.1637567328.git.dyroneteng@gmail.com>
846 + source: <cover.1638891420.git.dyroneteng@gmail.com>
847
848
849 * ab/make-dependency (2021-11-18) 24 commits
@@ -1118,20 +909,6 @@ Release tarballs are available at:
909 source: <20211119150707.3924636-1-fs@gigacodes.de>
910
911
1121 -* fs/test-prereq (2021-12-01) 3 commits
1122 - (merged to 'next' on 2021-12-07 at fc8a8e0006)
1123 - + test-lib: make BAIL_OUT() work in tests and prereq
1124 - + test-lib: introduce required prereq for test runs
1125 - + test-lib: show missing prereq summary
1126 -
1127 - The test framework learns to list unsatisfied test prerequisites,
1128 - and optionally error out when prerequisites that are expected to be
1129 - satisfied are not.
1130 -
1131 - Will merge to 'master'.
1132 - source: <20211201085315.576865-1-fs@gigacodes.de>
1133 -
1134 -
912 * pw/xdiff-classify-record-in-histogram (2021-12-04) 6 commits
913 (merged to 'next' on 2021-12-07 at 8cdad7bc9a)
914 + xdiff: drop unused flags parameter from recs_match
@@ -1161,31 +938,6 @@ Release tarballs are available at:
938 source: <pull.1076.v18.git.1638939946.gitgitgadget@gmail.com>
939
940
1164 -* rj/receive-pack-avoid-sigpipe-during-status-reporting (2021-11-10) 1 commit
1165 - (merged to 'next' on 2021-12-07 at 91039a781e)
1166 - + receive-pack: ignore SIGPIPE while reporting status to client
1167 -
1168 - When the "git push" command is killed while the receiving end is
1169 - trying to report what happened to the ref update proposals, the
1170 - latter used to die, due to SIGPIPE. The code now ignores SIGPIPE
1171 - to increase our chances to run the post-receive hook after it
1172 - happens.
1173 -
1174 - Will merge to 'master'.
1175 - source: <20211110092942.1648429-1-robin@jarry.cc>
1176 -
1177 -
1178 -* ab/parse-options-cleanup (2021-11-10) 1 commit
1179 - (merged to 'next' on 2021-12-08 at f9a2ceb9f6)
1180 - + parse-options.c: use "enum parse_opt_result" for parse_nodash_opt()
1181 -
1182 - Change the type of an internal function to return an enum (instead
1183 - of int) and replace -2 that was used to signal an error with -1.
1184 -
1185 - Will merge to 'master'.
1186 - source: <patch-v2-1.1-376f76bb44e-20211110T012523Z-avarab@gmail.com>
1187 -
1188 -
941 * jc/c99-var-decl-in-for-loop (2021-12-03) 1 commit
942 (merged to 'next' on 2021-12-03 at 57100223b2)
943 + revision: use C99 declaration of variable in for() loop
@@ -1220,56 +972,6 @@ Release tarballs are available at:
972 source: <20211201221547.1796213-1-andersk@mit.edu>
973
974
1223 -* ab/mark-leak-free-tests-even-more (2021-11-01) 15 commits
1224 - (merged to 'next' on 2021-12-03 at 1d8c342dab)
1225 - + leak tests: mark some fast-import tests as passing with SANITIZE=leak
1226 - + leak tests: mark some config tests as passing with SANITIZE=leak
1227 - + leak tests: mark some status tests as passing with SANITIZE=leak
1228 - + leak tests: mark some clone tests as passing with SANITIZE=leak
1229 - + leak tests: mark some add tests as passing with SANITIZE=leak
1230 - + leak tests: mark some diff tests as passing with SANITIZE=leak
1231 - + leak tests: mark some apply tests as passing with SANITIZE=leak
1232 - + leak tests: mark some notes tests as passing with SANITIZE=leak
1233 - + leak tests: mark some update-index tests as passing with SANITIZE=leak
1234 - + leak tests: mark some rev-parse tests as passing with SANITIZE=leak
1235 - + leak tests: mark some rev-list tests as passing with SANITIZE=leak
1236 - + leak tests: mark some misc tests as passing with SANITIZE=leak
1237 - + leak tests: mark most gettext tests as passing with SANITIZE=leak
1238 - + leak tests: mark "sort" test as passing SANITIZE=leak
1239 - + leak tests: mark a read-tree test as passing SANITIZE=leak
1240 -
1241 - More tests are marked as leak-free.
1242 -
1243 - Will merge to 'master'.
1244 - source: <cover-00.15-00000000000-20211030T221945Z-avarab@gmail.com>
1245 -
1246 -
1247 -* ew/test-wo-fsync (2021-10-29) 1 commit
1248 - (merged to 'next' on 2021-12-08 at 4b90e4870a)
1249 - + tests: disable fsync everywhere
1250 -
1251 - Allow running our tests while disabling fsync.
1252 -
1253 - Will merge to 'master'.
1254 - Received a lukewarm reactions overall. Perhaps we should drop instead?
1255 - source: <20211029001552.GA29647@dcvr>
1256 -
1257 -
1258 -* re/color-default-reset (2021-10-28) 3 commits
1259 - (merged to 'next' on 2021-12-08 at ab3ff50ce2)
1260 - + color: allow colors to be prefixed with "reset"
1261 - + color: support "default" to restore fg/bg color
1262 - + color: add missing GIT_COLOR_* white/black constants
1263 -
1264 - "default" and "reset" colors have been added to our palette.
1265 -
1266 - Will merge to 'master'.
1267 - Seems to have stalled, but I am OK to merge it as-is.
1268 - cf. <881B4747-B0B5-459B-B673-06972275A8B8@gmail.com>
1269 - source: <pull.1117.git.git.1635210227532.gitgitgadget@gmail.com>
1270 - source: <pull.1116.git.git.1635201156.gitgitgadget@gmail.com>
1271 -
1272 -
975 * pw/diff-color-moved-fix (2021-12-09) 15 commits
976 - diff --color-moved: intern strings
977 - diff: use designated initializers for emitted_diff_symbol
@@ -1289,24 +991,10 @@ Release tarballs are available at:
991
992 Correctness and performance update to "diff --color-moved" feature.
993
1292 - Will merge to 'next'?
994 + Will merge to 'next'.
995 source: <pull.981.v5.git.1639045809.gitgitgadget@gmail.com>
996
997
1296 -* es/pretty-describe-more (2021-11-01) 3 commits
1297 - (merged to 'next' on 2021-12-07 at e7862a34c8)
1298 - + pretty: add abbrev option to %(describe)
1299 - + pretty: add tag option to %(describe)
1300 - + pretty.c: rework describe options parsing for better extensibility
1301 -
1302 - Extend "git log --format=%(describe)" placeholder to allow passing
1303 - selected command-line options to the underlying "git describe"
1304 - command.
1305 -
1306 - Will merge to 'master'.
1307 - source: <20211031171510.1646396-1-eschwartz@archlinux.org>
1308 -
1309 -
998 * fs/ssh-signing-key-lifetime (2021-12-09) 9 commits
999 (merged to 'next' on 2021-12-10 at d5e7bd8b79)
1000 + ssh signing: verify ssh-keygen in test prereq
@@ -1370,18 +1058,16 @@ Release tarballs are available at:
1058 source: <cover-v5-00.17-00000000000-20211123T114206Z-avarab@gmail.com>
1059
1060
1373 -* js/branch-track-inherit (2021-12-07) 2 commits
1374 - . branch: add flags and config to inherit tracking
1375 - . branch: accept multiple upstream branches for tracking
1061 +* js/branch-track-inherit (2021-12-15) 3 commits
1062 + - config: require lowercase for branch.autosetupmerge
1063 + - branch: add flags and config to inherit tracking
1064 + - branch: accept multiple upstream branches for tracking
1065 (this branch is used by gc/branch-recurse-submodules.)
1066
1067 "git -c branch.autosetupmerge=inherit branch new old" makes "new"
1068 to have the same upstream as the "old" branch, instead of marking
1069 "old" itself as its upstream.
1381 -
1382 - Waiting for a response
1383 - cf. <xmqqk0gg6wqn.fsf@gitster.g>
1384 - source: <cover.1638859949.git.steadmon@google.com>
1070 + source: <cover.1639524556.git.steadmon@google.com>
1071
1072
1073 * jh/builtin-fsmonitor-part2 (2021-10-21) 29 commits
@@ -1441,28 +1127,6 @@ Release tarballs are available at:
1127 source: <pull.1050.v6.git.1638806161.gitgitgadget@gmail.com>
1128
1129
1444 -* ns/remerge-diff (2021-12-08) 8 commits
1445 - - doc/diff-options: explain the new --remerge-diff option
1446 - - show, log: adapt Elijah Newren's changes to common tmp-objdir API
1447 - - show, log: provide a --remerge-diff capability
1448 - - merge-ort: capture and print ll-merge warnings in our preferred fashion
1449 - - ll-merge: add API for capturing warnings in a strbuf instead of stderr
1450 - - merge-ort: add ability to record conflict messages in a file
1451 - - merge-ort: mark a few more conflict messages as omittable
1452 - - Merge branch 'ns/tmp-objdir' into ns/remerge-diff
1453 - (this branch uses ns/tmp-objdir.)
1454 -
1455 - A new presentation for two-parent merge "--remerge-diff" can be
1456 - used to show the difference between mechanical (and possibly
1457 - conflicted) merge results and the recorded resolution.
1458 -
1459 - Expecting a reroll.
1460 - cf. <CABPp-BHq4DnkCZZ+HcnGiZYKHpWJgzMBjMDuWbbTFYPesm2sXA@mail.gmail.com>
1461 - This is Elijah's remerge-diff rebased on ns/tmp-objdir to share the
1462 - "create objects temporarily, only to discard without committing
1463 - them to longer-term storage" infrastructure with another topic.
1464 -
1465 -
1130 * ns/tmp-objdir (2021-12-08) 2 commits
1131 - tmp-objdir: disable ref updates when replacing the primary odb
1132 - tmp-objdir: new API for creating temporary writable databases
@@ -1490,36 +1154,6 @@ Release tarballs are available at:
1154 source: <20211117005701.371808-1-emilyshaffer@google.com>
1155
1156
1493 -* ns/batched-fsync (2021-12-08) 8 commits
1494 - - core.fsyncobjectfiles: performance tests for add and stash
1495 - - core.fsyncobjectfiles: tests for batch mode
1496 - - unpack-objects: use the bulk-checkin infrastructure
1497 - - update-index: use the bulk-checkin infrastructure
1498 - - core.fsyncobjectfiles: add windows support for batch mode
1499 - - core.fsyncobjectfiles: batched disk flushes
1500 - - bulk-checkin: rename 'state' variable and separate 'plugged' boolean
1501 - - Merge branch 'ns/tmp-objdir' into ns/batched-fsync
1502 - (this branch uses ns/tmp-objdir.)
1503 -
1504 - The "core.fsyncobjectfiles" configuration variable can now be set
1505 - to "batch" for improved performance.
1506 -
1507 - Expecting a reroll.
1508 - cf. <CABPp-BHq4DnkCZZ+HcnGiZYKHpWJgzMBjMDuWbbTFYPesm2sXA@mail.gmail.com>
1509 - source: <pull.1076.v9.git.git.1637020263.gitgitgadget@gmail.com>
1510 -
1511 -
1512 -* en/zdiff3 (2021-12-01) 2 commits
1513 - (merged to 'next' on 2021-12-07 at baa3b24593)
1514 - + update documentation for new zdiff3 conflictStyle
1515 - + xdiff: implement a zealous diff3, or "zdiff3"
1516 -
1517 - "Zealous diff3" style of merge conflict presentation has been added.
1518 -
1519 - Will merge to 'master'.
1520 - source: <pull.1036.v5.git.git.1638317108.gitgitgadget@gmail.com>
1521 -
1522 -
1157 * js/scalar (2021-12-04) 15 commits
1158 (merged to 'next' on 2021-12-10 at 6248603a80)
1159 + scalar: implement the `version` command
@@ -1562,36 +1196,6 @@ Release tarballs are available at:
1196 review or at least Acks from past commentors.
1197 source: <cover-v6-0.8-00000000000-20211102T122507Z-avarab@gmail.com>
1198
1565 -
1566 -* hn/reftable (2021-10-08) 19 commits
1567 - (merged to 'next' on 2021-12-03 at 767ec5d9b3)
1568 - + Add "test-tool dump-reftable" command.
1569 - + reftable: add dump utility
1570 - + reftable: implement stack, a mutable database of reftable files.
1571 - + reftable: implement refname validation
1572 - + reftable: add merged table view
1573 - + reftable: add a heap-based priority queue for reftable records
1574 - + reftable: reftable file level tests
1575 - + reftable: read reftable files
1576 - + reftable: generic interface to tables
1577 - + reftable: write reftable files
1578 - + reftable: a generic binary tree implementation
1579 - + reftable: reading/writing blocks
1580 - + Provide zlib's uncompress2 from compat/zlib-compat.c
1581 - + reftable: (de)serialization for the polymorphic record type.
1582 - + reftable: add blocksource, an abstraction for random access reads
1583 - + reftable: utility functions
1584 - + reftable: add error related functionality
1585 - + reftable: add LICENSE
1586 - + hash.h: provide constants for the hash IDs
1587 - (this branch is used by hn/reftable-coverity-fixes.)
1588 -
1589 - The "reftable" backend for the refs API, without integrating into
1590 - the refs subsystem, has been added.
1591 -
1592 - Will merge to 'master'.
1593 - source: <pull.1081.v4.git.git.1633638315.gitgitgadget@gmail.com>
1594 -
1199 --------------------------------------------------
1200 [Discarded]
1201
@@ -1603,3 +1207,89 @@ Release tarballs are available at:
1207
1208 Superseded by the ab/fetch-set-upstream-while-detached topic
1209 source: <20210706162238.575988-1-clemens@endorphin.org>
1210 +
1211 +
1212 +* js/compat-util-msvc-flex-array (2021-12-06) 1 commit
1213 + . git-compat-util(msvc): C11 does not imply support for zero-sized arrays
1214 +
1215 + MSVC build started to break on flex arrays?
1216 +
1217 + It seems that there is no breakage in the toolchain; the code was buggy.
1218 + source: <pull.1094.git.1638823724410.gitgitgadget@gmail.com>
1219 +
1220 +
1221 +* ns/batched-fsync (2021-12-08) 8 commits
1222 + . core.fsyncobjectfiles: performance tests for add and stash
1223 + . core.fsyncobjectfiles: tests for batch mode
1224 + . unpack-objects: use the bulk-checkin infrastructure
1225 + . update-index: use the bulk-checkin infrastructure
1226 + . core.fsyncobjectfiles: add windows support for batch mode
1227 + . core.fsyncobjectfiles: batched disk flushes
1228 + . bulk-checkin: rename 'state' variable and separate 'plugged' boolean
1229 + . Merge branch 'ns/tmp-objdir' into ns/batched-fsync
1230 + (this branch uses ns/tmp-objdir.)
1231 +
1232 + The "core.fsyncobjectfiles" configuration variable can now be set
1233 + to "batch" for improved performance.
1234 +
1235 + cf. 20211211034452.GA15683@neerajsi-x1.localdomain
1236 + source: <pull.1076.v9.git.git.1637020263.gitgitgadget@gmail.com>
1237 +
1238 +
1239 +* ns/remerge-diff (2021-12-08) 8 commits
1240 + . doc/diff-options: explain the new --remerge-diff option
1241 + . show, log: adapt Elijah Newren's changes to common tmp-objdir API
1242 + . show, log: provide a --remerge-diff capability
1243 + . merge-ort: capture and print ll-merge warnings in our preferred fashion
1244 + . ll-merge: add API for capturing warnings in a strbuf instead of stderr
1245 + . merge-ort: add ability to record conflict messages in a file
1246 + . merge-ort: mark a few more conflict messages as omittable
1247 + . Merge branch 'ns/tmp-objdir' into ns/remerge-diff
1248 + (this branch uses ns/tmp-objdir.)
1249 +
1250 + A new presentation for two-parent merge "--remerge-diff" can be
1251 + used to show the difference between mechanical (and possibly
1252 + conflicted) merge results and the recorded resolution.
1253 +
1254 + cf. <CABPp-BE4ZD4dsr=ofbZeWqxEV=8do93o_Gus_wsGw6Fq7V2ETA@mail.gmail.com>
1255 + This is Elijah's remerge-diff rebased on ns/tmp-objdir to share the
1256 + "create objects temporarily, only to discard without committing
1257 + them to longer-term storage" infrastructure with another topic.
1258 +
1259 +
1260 +* ms/customizable-ident-expansion (2021-09-01) 1 commit
1261 + - keyword expansion: make "$Id$" string configurable
1262 +
1263 + Instead of "$Id$", user-specified string (like $FreeBSD$) can be
1264 + used as an in-blob placeholder for keyword expansion.
1265 +
1266 + Will discard.
1267 + Stalled for too long.
1268 + cf. <xmqqfsuosvrh.fsf@gitster.g>
1269 + cf. <211101.86fssf3bn3.gmgdl@evledraar.gmail.com>
1270 + source: <pull.1074.v3.git.git.1630462385587.gitgitgadget@gmail.com>
1271 +
1272 +
1273 +* jc/make-test-all (2021-12-13) 2 commits
1274 + . WIP to add "test-extra-clean"
1275 + . Makefile: add test-all target
1276 +
1277 + "make test" target in subdirectories of contrib/ are now exercised
1278 + in CI tests.
1279 + source: <xmqqh7bi27o9.fsf@gitster.g>
1280 +
1281 +
1282 +* jh/make-p4-python3-only (2021-12-09) 6 commits
1283 + . git-p4: Resolve RCS keywords in binary
1284 + . git-p4: Eliminate decode_stream and encode_stream
1285 + . git-p4: Decode byte strings before printing
1286 + . git-p4: Removed support for Python 2
1287 + . git-p4: Don't print shell commands as python lists
1288 + . git-p4: Always pass cmd arguments to subprocess as a python lists
1289 +
1290 + Support for Python2 in "git p4" has been removed (not just
1291 + deprecated).
1292 +
1293 + Superseded by jh/p4-rcs-expansion-in-bytestring topic, leaving
1294 + the "drop Python-2 support" for a separate topic in the future.
1295 + source: <20211209201029.136886-1-jholdsworth@nvidia.com>