What's cooking (2020/02 #04)

Junio C Hamano committed Feb 17, 2020 at 13:25 UTC 060a59e09155d654c4018702c78aea65c231e0e7
1 file changed +461 -661
whats-cooking.txt
+461 -661
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Feb 2020, #03; Wed, 12)
4 -X-master-at: d8437c57fa0752716dde2d3747e7c22bf7ce2e41
5 -X-next-at: cffb4d697ea3219afa675b81c08f1fe6006a74d1
3 +Subject: What's cooking in git.git (Feb 2020, #04; Mon, 17)
4 +X-master-at: 51ebf55b9309824346a6589c9f3b130c6f371b8f
5 +X-next-at: 3043dbfab8cba19275c80425d1436651d4be4a4a
6
7 -What's cooking in git.git (Feb 2020, #03; Wed, 12)
7 +What's cooking in git.git (Feb 2020, #04; Mon, 17)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -12,6 +12,9 @@ Here are the topics that have been cooking. Commits prefixed with
12 '+' 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 +Accumulated fixes on the 'master' front have been flushed to 'maint'
16 +and a new maintenance release 2.25.1 has been tagged.
17 +
18 You can find the changes described here in the integration branches
19 of the repositories listed at
20
@@ -20,182 +23,439 @@ of the repositories listed at
23 --------------------------------------------------
24 [Graduated to "master"]
25
23 -* dt/submodule-rm-with-stale-cache (2020-01-28) 1 commit
24 - (merged to 'next' on 2020-02-05 at 701ef6c41b)
25 - + git rm submodule: succeed if .gitmodules index stat info is zero
26 +* ag/edit-todo-drop-check (2020-01-28) 2 commits
27 + (merged to 'next' on 2020-02-07 at 687c82cd3a)
28 + + rebase-interactive: warn if commit is dropped with `rebase --edit-todo'
29 + + sequencer: move check_todo_list_from_file() to rebase-interactive.c
30 + (this branch uses js/rebase-i-with-colliding-hash.)
31
27 - Running "git rm" on a submodule failed unnecessarily when
28 - .gitmodules is only cache-dirty, which has been corrected.
32 + Allow the rebase.missingCommitsCheck configuration to kick in when
33 + "rebase --edit-todo" and "rebase --continue" restarts the procedure.
34
35
31 -* es/submodule-fetch-message-fix (2020-02-07) 1 commit
32 - (merged to 'next' on 2020-02-11 at b8af267e1b)
33 - + submodule: add newline on invalid submodule error
36 +* ag/rebase-avoid-unneeded-checkout (2020-01-24) 1 commit
37 + (merged to 'next' on 2020-02-07 at b08da07534)
38 + + rebase -i: stop checking out the tip of the branch to rebase
39
35 - Error message fix.
40 + "git rebase -i" (and friends) used to unnecessarily check out the
41 + tip of the branch to be rebased, which has been corrected.
42
43
38 -* hw/doc-git-dir (2020-01-30) 1 commit
39 - (merged to 'next' on 2020-02-05 at 839ae05c00)
40 - + git: update documentation for --git-dir
44 +* bc/hash-independent-tests-part-8 (2020-02-07) 21 commits
45 + (merged to 'next' on 2020-02-11 at 127748e61a)
46 + + t6024: update for SHA-256
47 + + t6006: make hash size independent
48 + + t6000: abstract away SHA-1-specific constants
49 + + t5703: make test work with SHA-256
50 + + t5607: make hash size independent
51 + + t5318: update for SHA-256
52 + + t5515: make test hash independent
53 + + t5321: make test hash independent
54 + + t5313: make test hash independent
55 + + t5309: make test hash independent
56 + + t5302: make hash size independent
57 + + t4060: make test work with SHA-256
58 + + t4211: add test cases for SHA-256
59 + + t4211: move SHA-1-specific test cases into a directory
60 + + t4013: make test hash independent
61 + + t3311: make test work with SHA-256
62 + + t3310: make test work with SHA-256
63 + + t3309: make test work with SHA-256
64 + + t3308: make test work with SHA-256
65 + + t3206: make hash size independent
66 + + t/lib-pack: support SHA-256
67
42 - One effect of specifying where the GIT_DIR is (either with the
43 - environment variable, or with the "git --git-dir=<where> cmd"
44 - option) is to disable the repository discovery. This has been
45 - placed a bit more stress in the documentation, as new users often
46 - get confused.
68 + Preparation for SHA-256 migration continues.
69
70
49 -* jb/multi-pack-index-docfix (2020-02-10) 1 commit
50 - (merged to 'next' on 2020-02-11 at 79af4f7bda)
51 - + pack-format: correct multi-pack-index description
71 +* dl/test-must-fail-fixes-2 (2020-01-27) 16 commits
72 + (merged to 'next' on 2020-02-07 at 535e019692)
73 + + t4124: only mark git command with test_must_fail
74 + + t3507: use test_path_is_missing()
75 + + t3507: fix indentation
76 + + t3504: do check for conflict marker after failed cherry-pick
77 + + t3419: stop losing return code of git command
78 + + t3415: increase granularity of test_auto_{fixup,squash}()
79 + + t3415: stop losing return codes of git commands
80 + + t3310: extract common notes_merge_files_gone()
81 + + t3030: use test_path_is_missing()
82 + + t2018: replace "sha" with "oid"
83 + + t2018: don't lose return code of git commands
84 + + t2018: teach do_checkout() to accept `!` arg
85 + + t2018: be more discerning when checking for expected exit codes
86 + + t2018: improve style of if-statement
87 + + t2018: add space between function name and ()
88 + + t2018: remove trailing space from test description
89
53 - Doc fix.
90 + Test updates.
91
92
56 -* jb/parse-options-message-fix (2020-02-05) 1 commit
57 - (merged to 'next' on 2020-02-11 at 58058cc68c)
58 - + parse-options: lose an unnecessary space in an error message
93 +* ds/sparse-checkout-harden (2020-01-31) 15 commits
94 + (merged to 'next' on 2020-02-07 at 56c09b944f)
95 + + sparse-checkout: fix cone mode behavior mismatch
96 + + sparse-checkout: improve docs around 'set' in cone mode
97 + + sparse-checkout: escape all glob characters on write
98 + + sparse-checkout: use C-style quotes in 'list' subcommand
99 + + sparse-checkout: unquote C-style strings over --stdin
100 + + sparse-checkout: write escaped patterns in cone mode
101 + + sparse-checkout: properly match escaped characters
102 + + sparse-checkout: warn on globs in cone patterns
103 + + sparse-checkout: detect short patterns
104 + + sparse-checkout: cone mode does not recognize "**"
105 + + sparse-checkout: fix documentation typo for core.sparseCheckoutCone
106 + + clone: fix --sparse option with URLs
107 + + sparse-checkout: create leading directories
108 + + t1091: improve here-docs
109 + + t1091: use check_files to reduce boilerplate
110 + (this branch is used by ds/sparse-add.)
111
60 - Error message fix.
112 + Some rough edges in the sparse-checkout feature, especially around
113 + the cone mode, have been cleaned up.
114
115
63 -* jc/skip-prefix (2020-01-31) 1 commit
64 - (merged to 'next' on 2020-02-05 at f6893a42d0)
65 - + C: use skip_prefix() to avoid hardcoded string length
116 +* es/outside-repo-errmsg-hints (2020-02-16) 1 commit
117 + (merged to 'next' on 2020-02-16 at ed78b064b4)
118 + + prefix_path: show gitdir when arg is outside repo
119
67 - Code simplification.
120 + Error message clarification.
121
122
70 -* jk/clang-sanitizer-fixes (2020-01-28) 5 commits
71 - (merged to 'next' on 2020-02-05 at 8ef84c2d96)
72 - + obstack: avoid computing offsets from NULL pointer
73 - + xdiff: avoid computing non-zero offset from NULL pointer
74 - + avoid computing zero offsets from NULL pointer
75 - + merge-recursive: use subtraction to flip stage
76 - + merge-recursive: silence -Wxor-used-as-pow warning
123 +* hw/advice-add-nothing (2020-02-06) 2 commits
124 + (merged to 'next' on 2020-02-07 at 3c2a5c1868)
125 + + add: change advice config variables used by the add API
126 + (merged to 'next' on 2020-01-22 at 3fe4494fa6)
127 + + add: use advise function to display hints
128
78 - C pedantry ;-) fix.
129 + Two help messages given when "git add" notices the user gave it
130 + nothing to add have been updated to use advise() API.
131
132
81 -* jk/escaped-wildcard-dwim (2020-01-27) 1 commit
82 - (merged to 'next' on 2020-02-05 at ebee5e92a7)
83 - + verify_filename(): handle backslashes in "wildcards are pathspecs" rule
133 +* jh/notes-fanout-fix (2020-02-04) 2 commits
134 + (merged to 'next' on 2020-02-07 at a4ec94aee0)
135 + + notes.c: fix off-by-one error when decreasing notes fanout
136 + + t3305: check notes fanout more carefully and robustly
137
85 - Disambiguation logic to tell revisions and pathspec apart has been
86 - tweaked so that backslash-escaped glob special characters do not
87 - count in the "wildcards are pathspec" rule.
138 + The code to automatically shrink the fan-out in the notes tree had
139 + an off-by-one bug, which has been killed.
140
141
90 -* jk/push-default-doc (2020-01-29) 1 commit
91 - (merged to 'next' on 2020-02-05 at 33167357a1)
92 - + doc: drop "explicitly given" from push.default description
142 +* jk/alloc-cleanups (2020-02-04) 4 commits
143 + (merged to 'next' on 2020-02-07 at f259621312)
144 + + tree-walk.c: break circular dependency with unpack-trees
145 + + traverse_trees(): use stack array for name entries
146 + + walker_fetch(): avoid raw array length computation
147 + + normalize_path_copy(): document "dst" size expectations
148
94 - Doc update.
149 + Misc code clean-ups.
150
151
97 -* jn/pretend-object-doc (2020-01-06) 1 commit
98 - (merged to 'next' on 2020-02-05 at 1d52a5c72d)
99 - + sha1-file: document how to use pretend_object_file
152 +* jk/diff-honor-wserrhighlight-in-plumbing (2020-01-31) 1 commit
153 + (merged to 'next' on 2020-02-07 at acb077fdcb)
154 + + diff: move diff.wsErrorHighlight to "basic" config
155
101 - Warn programmers about pretend_object_file() that allows the code
102 - to tentatively use in-core objects.
156 + The diff-* plumbing family of subcommands now pay attention to the
157 + diff.wsErrorHighlight configuration, which has been ignored before;
158 + this allows "git add -p" to also show the whitespace problems to
159 + the end user.
160
161
105 -* js/ci-squelch-doc-warning (2020-02-10) 1 commit
106 - (merged to 'next' on 2020-02-11 at 4fec29107e)
107 - + ci: ignore rubygems warning in the "Documentation" job
162 +* jk/doc-credential-helper (2020-02-14) 1 commit
163 + (merged to 'next' on 2020-02-16 at 0909d3f981)
164 + + doc: move credential helper info into gitcredentials(7)
165
109 - Squelch unhelpful warning message during documentation build.
166 + Docfix.
167
168
112 -* js/convert-typofix (2020-02-11) 1 commit
113 - (merged to 'next' on 2020-02-11 at 32ccd29dc5)
114 - + convert: fix typo
169 +* jk/get-oid-error-message-i18n (2020-01-30) 3 commits
170 + (merged to 'next' on 2020-02-07 at 6bfe9235e5)
171 + + sha1-name: mark get_oid() error messages for translation
172 + + t1506: drop space after redirection operator
173 + + t1400: avoid "test" string comparisons
174
116 - Typofix.
175 + A low-level API function get_oid(), that accepts various ways to
176 + name an object, used to issue end-user facing error messages
177 + without l10n, which has been updated to be translatable.
178
179
119 -* jt/t5616-robustify (2020-01-27) 1 commit
120 - (merged to 'next' on 2020-02-05 at cdb02e8849)
121 - + t5616: make robust to delta base change
180 +* jk/index-pack-dupfix (2020-02-04) 1 commit
181 + (merged to 'next' on 2020-02-07 at e6d79d432b)
182 + + index-pack: downgrade twice-resolved REF_DELTA to die()
183
123 - Futureproofing a test not to depend on the current implementation
124 - detail.
184 + The index-pack code now diagnoses a bad input packstream that
185 + records the same object twice when it is used as delta base; the
186 + code used to declare a software bug when encountering such an
187 + input, but it is an input error.
188
189
127 -* km/submodule-doc-use-sm-path (2020-01-31) 1 commit
128 - (merged to 'next' on 2020-02-05 at a73aa350b5)
129 - + submodule foreach: replace $path with $sm_path in example
190 +* jk/mailinfo-cleanup (2020-02-11) 4 commits
191 + (merged to 'next' on 2020-02-11 at ab9890fbcb)
192 + + mailinfo: factor out some repeated header handling
193 + + mailinfo: be more liberal with header whitespace
194 + + mailinfo: simplify parsing of header values
195 + + mailinfo: treat header values as C strings
196 + (this branch uses rs/strbuf-insertstr.)
197
131 - Docfix.
198 + Code clean-up.
199
200
134 -* ma/diff-doc-clarify-regexp-example (2020-02-09) 1 commit
135 - (merged to 'next' on 2020-02-11 at 202d447e78)
136 - + diff-options.txt: avoid "regex" overload in example
201 +* jk/packfile-reuse-cleanup (2020-01-23) 12 commits
202 + (merged to 'next' on 2020-02-07 at c543bc27fb)
203 + + pack-bitmap: don't rely on bitmap_git->reuse_objects
204 + + pack-objects: add checks for duplicate objects
205 + + pack-objects: improve partial packfile reuse
206 + + builtin/pack-objects: introduce obj_is_packed()
207 + + pack-objects: introduce pack.allowPackReuse
208 + + csum-file: introduce hashfile_total()
209 + + pack-bitmap: simplify bitmap_has_oid_in_uninteresting()
210 + + pack-bitmap: uninteresting oid can be outside bitmapped packfile
211 + + pack-bitmap: introduce bitmap_walk_contains()
212 + + ewah/bitmap: introduce bitmap_word_alloc()
213 + + packfile: expose get_delta_base()
214 + + builtin/pack-objects: report reused packfile objects
215
138 - Doc clarification.
216 + The way "git pack-objects" reuses objects stored in existing pack
217 + to generate its result has been improved.
218
219
141 -* ma/filter-branch-doc-caret (2020-02-04) 1 commit
142 - (merged to 'next' on 2020-02-05 at 4d5dbd1dba)
143 - + git-filter-branch.txt: wrap "maths" notation in backticks
220 +* jn/promote-proto2-to-default (2020-01-15) 5 commits
221 + (merged to 'next' on 2020-02-07 at 5597fd726b)
222 + + fetch: default to protocol version 2
223 + + protocol test: let protocol.version override GIT_TEST_PROTOCOL_VERSION
224 + + test: request GIT_TEST_PROTOCOL_VERSION=0 when appropriate
225 + + config doc: protocol.version is not experimental
226 + + fetch test: use more robust test for filtered objects
227
145 - Doc mark-up updates.
228 + The transport protocol version 2 becomes the default one.
229
230
148 -* ms/doc-bundle-format (2020-02-07) 1 commit
149 - (merged to 'next' on 2020-02-11 at ca03a36134)
150 - + doc: describe Git bundle format
231 +* js/mingw-open-in-gdb (2020-02-14) 1 commit
232 + (merged to 'next' on 2020-02-16 at 6670f36d73)
233 + + mingw: add a helper function to attach GDB to the current process
234
152 - Technical details of the bundle format has been documented.
153 - I think this is in a good enough shape.
235 + Dev support.
236
237
156 -* pb/do-not-recurse-grep-no-index (2020-01-30) 1 commit
157 - (merged to 'next' on 2020-02-05 at 227bbe1e05)
158 - + grep: ignore --recurse-submodules if --no-index is given
238 +* js/rebase-i-with-colliding-hash (2020-01-23) 3 commits
239 + (merged to 'next' on 2020-02-07 at 670ba07c4d)
240 + + rebase -i: also avoid SHA-1 collisions with missingCommitsCheck
241 + + rebase -i: re-fix short SHA-1 collision
242 + + parse_insn_line(): improve error message when parsing failed
243 + (this branch is used by ag/edit-todo-drop-check.)
244
160 - "git grep --no-index" should not get affected by the contents of
161 - the .gitmodules file but when "--recurse-submodules" is given or
162 - the "submodule.recurse" variable is set, it did. Now these
163 - settings are ignored in the "--no-index" mode.
245 + "git rebase -i" identifies existing commits in its todo file with
246 + their abbreviated object name, which could become ambigous as it
247 + goes to create new commits, and has a mechanism to avoid ambiguity
248 + in the main part of its execution. A few other cases however were
249 + not covered by the protection against ambiguity, which has been
250 + corrected.
251
165 ---------------------------------------------------
166 -[New Topics]
252
168 -* ds/sparse-add (2020-02-11) 4 commits
169 - - sparse-checkout: work with Windows paths
170 - - sparse-checkout: create 'add' subcommand
171 - - sparse-checkout: extract pattern update from 'set' subcommand
172 - - sparse-checkout: extract add_patterns_from_input()
173 - (this branch uses ds/sparse-checkout-harden.)
253 +* js/test-avoid-pipe (2020-02-14) 1 commit
254 + (merged to 'next' on 2020-02-16 at 090cac9c23)
255 + + t9001, t9116: avoid pipes
256
175 - "git sparse-checkout" learned a new "add" subcommand.
257 + Test clean-up.
258
177 - Will merge to 'next'.
259
260 +* js/test-unc-fetch (2020-02-14) 1 commit
261 + (merged to 'next' on 2020-02-16 at a4ca01efef)
262 + + t5580: test cloning without file://, test fetching via UNC paths
263
180 -* jk/mailinfo-cleanup (2020-02-11) 4 commits
181 - (merged to 'next' on 2020-02-11 at ab9890fbcb)
182 - + mailinfo: factor out some repeated header handling
183 - + mailinfo: be more liberal with header whitespace
184 - + mailinfo: simplify parsing of header values
185 - + mailinfo: treat header values as C strings
186 - (this branch uses rs/strbuf-insertstr.)
264 + Test updates.
265 +
266 +
267 +* js/test-write-junit-xml-fix (2020-02-12) 1 commit
268 + (merged to 'next' on 2020-02-16 at 2deb247550)
269 + + tests: fix --write-junit-xml with subshells
270 +
271 + Testfix.
272 +
273 +
274 +* jt/connectivity-check-optim-in-partial-clone (2020-01-30) 2 commits
275 + (merged to 'next' on 2020-02-07 at ca5102fa58)
276 + + fetch: forgo full connectivity check if --filter
277 + + connected: verify promisor-ness of partial clone
278 +
279 + Unneeded connectivity check is now disabled in a partial clone when
280 + fetching into it.
281 +
282 +
283 +* kw/fsmonitor-watchman-racefix (2020-01-23) 4 commits
284 + (merged to 'next' on 2020-02-07 at 3c42195a34)
285 + + fsmonitor: update documentation for hook version and watchman hooks
286 + + fsmonitor: add fsmonitor hook scripts for version 2
287 + + fsmonitor: handle version 2 of the hooks that will use opaque token
288 + + fsmonitor: change last update timestamp on the index_state to opaque token
289 +
290 + A new version of fsmonitor-watchman hook has been introduced, to
291 + avoid races.
292 +
293 +
294 +* ld/p4-cleanup-processes (2020-01-30) 7 commits
295 + (merged to 'next' on 2020-02-07 at e8c573f01c)
296 + + git-p4: avoid leak of file handle when cloning
297 + + git-p4: check for access to remote host earlier
298 + + git-p4: cleanup better on error exit
299 + + git-p4: create helper function importRevisions()
300 + + git-p4: disable some pylint warnings, to get pylint output to something manageable
301 + + git-p4: add P4CommandException to report errors talking to Perforce
302 + + git-p4: make closeStreams() idempotent
303 +
304 + p4 updates.
305 +
306 +
307 +* mr/show-config-scope (2020-02-10) 10 commits
308 + (merged to 'next' on 2020-02-11 at 904bca086e)
309 + + config: add '--show-scope' to print the scope of a config value
310 + + submodule-config: add subomdule config scope
311 + + config: teach git_config_source to remember its scope
312 + + config: preserve scope in do_git_config_sequence
313 + + config: clarify meaning of command line scoping
314 + + config: split repo scope to local and worktree
315 + + config: make scope_name non-static and rename it
316 + + t1300: create custom config file without special characters
317 + + t1300: fix over-indented HERE-DOCs
318 + + config: fix typo in variable name
319 + (this branch is used by bw/remote-rename-update-config and es/bugreport.)
320 +
321 + "git config" learned to show in which "scope", in addition to in
322 + which file, each config setting comes from.
323 +
324 +
325 +* mt/threaded-grep-in-object-store (2020-01-17) 12 commits
326 + (merged to 'next' on 2020-02-07 at e86bab09e1)
327 + + grep: use no. of cores as the default no. of threads
328 + + grep: move driver pre-load out of critical section
329 + + grep: re-enable threads in non-worktree case
330 + + grep: protect packed_git [re-]initialization
331 + + grep: allow submodule functions to run in parallel
332 + + submodule-config: add skip_if_read option to repo_read_gitmodules()
333 + + grep: replace grep_read_mutex by internal obj read lock
334 + + object-store: allow threaded access to object reading
335 + + replace-object: make replace operations thread-safe
336 + + grep: fix racy calls in grep_objects()
337 + + grep: fix race conditions at grep_submodule()
338 + + grep: fix race conditions on userdiff calls
339 +
340 + Traditionally, we avoided threaded grep while searching in objects
341 + (as opposed to files in the working tree) as accesses to the object
342 + layer is not thread-safe. This limitation is getting lifted.
343 +
344 +
345 +* mt/use-passed-repo-more-in-funcs (2020-01-31) 7 commits
346 + (merged to 'next' on 2020-02-07 at 536709ab4b)
347 + + sha1-file: allow check_object_signature() to handle any repo
348 + + sha1-file: pass git_hash_algo to hash_object_file()
349 + + sha1-file: pass git_hash_algo to write_object_file_prepare()
350 + + streaming: allow open_istream() to handle any repo
351 + + pack-check: use given repo's hash_algo at verify_packfile()
352 + + cache-tree: use given repo's hash_algo at verify_one()
353 + + diff: make diff_populate_filespec() honor its repo argument
354 +
355 + Some codepaths were given a repository instance as a parameter to
356 + work in the repository, but passed the_repository instance to its
357 + callees, which has been cleaned up (somewhat).
358 +
359 +
360 +* pk/status-of-uncloned-submodule (2020-02-04) 3 commits
361 + (merged to 'next' on 2020-02-07 at f6349f5f5f)
362 + + t7400: testcase for submodule status on unregistered inner git repos
363 + + submodule: fix status of initialized but not cloned submodules
364 + + t7400: add a testcase for submodule status on empty dirs
365 +
366 + The way "git submodule status" reports an initialized but not yet
367 + populated submodule has not been reimplemented correctly when a
368 + part of the "git submodule" command was rewritten in C, which has
369 + been corrected.
370 +
371 +
372 +* rs/name-rev-memsave (2020-02-05) 11 commits
373 + (merged to 'next' on 2020-02-11 at 17616cb9b1)
374 + + name-rev: sort tip names before applying
375 + + name-rev: release unused name strings
376 + + name-rev: generate name strings only if they are better
377 + + name-rev: pre-size buffer in get_parent_name()
378 + + name-rev: factor out get_parent_name()
379 + + name-rev: put struct rev_name into commit slab
380 + + name-rev: don't _peek() in create_or_update_name()
381 + + name-rev: don't leak path copy in name_ref()
382 + + name-rev: respect const qualifier
383 + + name-rev: remove unused typedef
384 + + name-rev: rewrite create_or_update_name()
385 +
386 + Memory footprint and performance of "git name-rev" has been
387 + improved.
388 +
389 +
390 +* rs/parse-options-concat-dup (2020-02-10) 4 commits
391 + (merged to 'next' on 2020-02-11 at a1685687ab)
392 + + parse-options: simplify parse_options_dup()
393 + + parse-options: const parse_options_concat() parameters
394 + + parse-options: factor out parse_options_count()
395 + + parse-options: use COPY_ARRAY in parse_options_concat()
396 +
397 + Code clean-up.
398 +
399 +
400 +* rs/strbuf-insertstr (2020-02-10) 2 commits
401 + (merged to 'next' on 2020-02-11 at 5c89aa002f)
402 + + mailinfo: don't insert header prefix for handle_content_type()
403 + + strbuf: add and use strbuf_insertstr()
404 + (this branch is used by jk/mailinfo-cleanup.)
405 +
406 + Code clean-up.
407 +
408 +
409 +* tb/commit-graph-object-dir (2020-02-04) 5 commits
410 + (merged to 'next' on 2020-02-07 at 5c85173df4)
411 + + commit-graph.h: use odb in 'load_commit_graph_one_fd_st'
412 + + commit-graph.c: remove path normalization, comparison
413 + + commit-graph.h: store object directory in 'struct commit_graph'
414 + + commit-graph.h: store an odb in 'struct write_commit_graph_context'
415 + + t5318: don't pass non-object directory to '--object-dir'
416 + (this branch is used by tb/commit-graph-split-merge.)
417 +
418 + The code to compute the commit-graph has been taught to use a more
419 + robust way to tell if two object directories refer to the same
420 + thing.
421
188 - Code clean-up.
422 +--------------------------------------------------
423 +[New Topics]
424
190 - Will merge to 'master'.
425 +* jk/object-filter-with-bitmap (2020-02-14) 15 commits
426 + (merged to 'next' on 2020-02-16 at 42425c3658)
427 + + pack-objects: support filters with bitmaps
428 + + pack-bitmap: implement BLOB_LIMIT filtering
429 + + pack-bitmap: implement BLOB_NONE filtering
430 + + bitmap: add bitmap_unset() function
431 + + rev-list: use bitmap filters for traversal
432 + + pack-bitmap: basic noop bitmap filter infrastructure
433 + + rev-list: allow commit-only bitmap traversals
434 + + t5310: factor out bitmap traversal comparison
435 + + rev-list: allow bitmaps when counting objects
436 + + rev-list: make --count work with --objects
437 + + rev-list: factor out bitmap-optimized routines
438 + + pack-bitmap: refuse to do a bitmap traversal with pathspecs
439 + + rev-list: fallback to non-bitmap traversal when filtering
440 + + pack-bitmap: fix leak of haves/wants object lists
441 + + pack-bitmap: factor out type iterator initialization
442 +
443 + The object reachability bitmap machinery and the partial cloning
444 + machinery were not prepared to work well together, because some
445 + object-filtering criteria partial clones use inherently rely on
446 + object traversal, but the bitmap machinery is an optimization to
447 + bypass that object traversal. There however are some cases that
448 + they can work together, and they were taught about this case.
449
450 + Will merge to 'master'.
451
193 -* js/test-write-junit-xml-fix (2020-02-12) 1 commit
194 - - tests: fix --write-junit-xml with subshells
452
196 - Testfix.
453 +* hw/advise-ng (2020-02-16) 2 commits
454 + - advice: extract vadvise() from advise()
455 + - advice: refactor advise API
456
198 - Will merge to 'next'.
457 + Revamping of the advise API to allow more systematic enumeration of
458 + advice knobs in the future.
459
460 --------------------------------------------------
461 [Stalled]
@@ -238,6 +498,18 @@ of the repositories listed at
498 --------------------------------------------------
499 [Cooking]
500
501 +* ds/sparse-add (2020-02-11) 4 commits
502 + (merged to 'next' on 2020-02-14 at 3799757bbe)
503 + + sparse-checkout: work with Windows paths
504 + + sparse-checkout: create 'add' subcommand
505 + + sparse-checkout: extract pattern update from 'set' subcommand
506 + + sparse-checkout: extract add_patterns_from_input()
507 +
508 + "git sparse-checkout" learned a new "add" subcommand.
509 +
510 + Will merge to 'master'.
511 +
512 +
513 * at/rebase-fork-point-regression-fix (2020-02-11) 1 commit
514 - rebase: --fork-point regression fix
515
@@ -250,11 +522,11 @@ of the repositories listed at
522
523
524 * hn/reftable (2020-02-10) 5 commits
253 - - Reftable support for git-core
254 - - Add reftable library
255 - - refs: document how ref_iterator_advance_fn should handle symrefs
256 - - create .git/refs in files-backend.c
257 - - refs.h: clarify reflog iteration order
525 + . Reftable support for git-core
526 + . Add reftable library
527 + . refs: document how ref_iterator_advance_fn should handle symrefs
528 + . create .git/refs in files-backend.c
529 + . refs.h: clarify reflog iteration order
530
531 A new refs backend "reftable" to replace the traditional
532 combination of packed-refs files and one-file-per-ref loose refs
@@ -264,8 +536,7 @@ of the repositories listed at
536 At v5.
537
538
267 -* es/bugreport (2020-02-12) 16 commits
268 - - SQUASH??? t0091 style and i18n fixes
539 +* es/bugreport (2020-02-14) 15 commits
540 - bugreport: summarize contents of alternates file
541 - bugreport: list contents of $OBJDIR/info
542 - bugreport: add packed object summary
@@ -281,11 +552,10 @@ of the repositories listed at
552 - bugreport: add tool to generate debugging info
553 - help: add shell-path to --build-options
554 - help: move list_config_help to builtin/help
284 - (this branch uses mr/show-config-scope; is tangled with bw/remote-rename-update-config.)
555
556 The "bugreport" tool.
557
288 - at v6. Breaks gettext-poison builds
558 + at v7.
559
560
561 * gs/commit-graph-path-filter (2020-02-12) 12 commits
@@ -310,35 +580,6 @@ of the repositories listed at
580 Breakage due to byte-order dependency reported.
581
582
313 -* bc/hash-independent-tests-part-8 (2020-02-07) 21 commits
314 - (merged to 'next' on 2020-02-11 at 127748e61a)
315 - + t6024: update for SHA-256
316 - + t6006: make hash size independent
317 - + t6000: abstract away SHA-1-specific constants
318 - + t5703: make test work with SHA-256
319 - + t5607: make hash size independent
320 - + t5318: update for SHA-256
321 - + t5515: make test hash independent
322 - + t5321: make test hash independent
323 - + t5313: make test hash independent
324 - + t5309: make test hash independent
325 - + t5302: make hash size independent
326 - + t4060: make test work with SHA-256
327 - + t4211: add test cases for SHA-256
328 - + t4211: move SHA-1-specific test cases into a directory
329 - + t4013: make test hash independent
330 - + t3311: make test work with SHA-256
331 - + t3310: make test work with SHA-256
332 - + t3309: make test work with SHA-256
333 - + t3308: make test work with SHA-256
334 - + t3206: make hash size independent
335 - + t/lib-pack: support SHA-256
336 -
337 - Preparation for SHA-256 migration continues.
338 -
339 - Will merge to 'master'.
340 -
341 -
583 * mr/bisect-in-c-1 (2020-02-10) 13 commits
584 - bisect: libify `bisect_next_all`
585 - bisect: libify `handle_bad_merge_base` and its dependents
@@ -348,319 +589,93 @@ of the repositories listed at
589 - bisect: libify `exit_if_skipped_commits` to `error_if_skipped*` and its dependents
590 - bisect--helper: return error codes from `cmd_bisect__helper()`
591 - bisect: add enum to represent bisect returning codes
351 - - bisect--helper: introduce new `decide_next()` function
352 - - run-command: make `exists_in_PATH()` non-static
353 - - bisect: use the standard 'if (!var)' way to check for 0
354 - - bisect--helper: change `retval` to `res`
355 - - bisect--helper: convert `vocab_*` char pointers to char arrays
356 -
357 - Underlying machinery of "git bisect--helper" is being refactored
358 - into pieces that are more easily reused.
359 -
360 -
361 -* rs/parse-options-concat-dup (2020-02-10) 4 commits
362 - (merged to 'next' on 2020-02-11 at a1685687ab)
363 - + parse-options: simplify parse_options_dup()
364 - + parse-options: const parse_options_concat() parameters
365 - + parse-options: factor out parse_options_count()
366 - + parse-options: use COPY_ARRAY in parse_options_concat()
367 -
368 - Code clean-up.
369 -
370 - Will merge to 'master'.
371 -
372 -
373 -* rs/strbuf-insertstr (2020-02-10) 2 commits
374 - (merged to 'next' on 2020-02-11 at 5c89aa002f)
375 - + mailinfo: don't insert header prefix for handle_content_type()
376 - + strbuf: add and use strbuf_insertstr()
377 - (this branch is used by jk/mailinfo-cleanup.)
378 -
379 - Code clean-up.
380 -
381 - Will merge to 'master'.
382 -
383 -
384 -* bw/remote-rename-update-config (2020-02-10) 6 commits
385 - - remote rename/remove: gently handle remote.pushDefault config
386 - - config: provide access to the current line number
387 - - remote rename/remove: handle branch.<name>.pushRemote config values
388 - - remote: clean-up config callback
389 - - remote: clean-up by returning early to avoid one indentation
390 - - pull --rebase/remote rename: document and honor single-letter abbreviations rebase types
391 - (this branch uses mr/show-config-scope; is tangled with es/bugreport.)
392 -
393 - "git remote rename X Y" needs to adjust configuration variables
394 - (e.g. branch.<name>.remote) whose value used to be X to Y.
395 - branch.<name>.pushRemote is now also updated.
396 -
397 - Will merge to 'next'?
398 -
399 -
400 -* es/bright-colors (2020-02-11) 3 commits
401 - - color.c: alias RGB colors 8-15 to aixterm colors
402 - - color.c: support bright aixterm colors
403 - - color.c: refactor color_output arguments
404 -
405 - The basic 7 colors learned the brighter counterparts
406 - (e.g. "brightred").
407 -
408 - Will merge to 'next'.
409 -
410 -
411 -* pk/status-of-uncloned-submodule (2020-02-04) 3 commits
412 - (merged to 'next' on 2020-02-07 at f6349f5f5f)
413 - + t7400: testcase for submodule status on unregistered inner git repos
414 - + submodule: fix status of initialized but not cloned submodules
415 - + t7400: add a testcase for submodule status on empty dirs
416 -
417 - The way "git submodule status" reports an initialized but not yet
418 - populated submodule has not been reimplemented correctly when a
419 - part of the "git submodule" command was rewritten in C, which has
420 - been corrected.
421 -
422 - Will merge to 'master'.
423 -
424 -
425 -* ag/rebase-avoid-unneeded-checkout (2020-01-24) 1 commit
426 - (merged to 'next' on 2020-02-07 at b08da07534)
427 - + rebase -i: stop checking out the tip of the branch to rebase
428 -
429 - "git rebase -i" (and friends) used to unnecessarily check out the
430 - tip of the branch to be rebased, which has been corrected.
431 -
432 - Will merge to 'master'.
433 -
434 -
435 -* ds/sparse-checkout-harden (2020-01-31) 15 commits
436 - (merged to 'next' on 2020-02-07 at 56c09b944f)
437 - + sparse-checkout: fix cone mode behavior mismatch
438 - + sparse-checkout: improve docs around 'set' in cone mode
439 - + sparse-checkout: escape all glob characters on write
440 - + sparse-checkout: use C-style quotes in 'list' subcommand
441 - + sparse-checkout: unquote C-style strings over --stdin
442 - + sparse-checkout: write escaped patterns in cone mode
443 - + sparse-checkout: properly match escaped characters
444 - + sparse-checkout: warn on globs in cone patterns
445 - + sparse-checkout: detect short patterns
446 - + sparse-checkout: cone mode does not recognize "**"
447 - + sparse-checkout: fix documentation typo for core.sparseCheckoutCone
448 - + clone: fix --sparse option with URLs
449 - + sparse-checkout: create leading directories
450 - + t1091: improve here-docs
451 - + t1091: use check_files to reduce boilerplate
452 - (this branch is used by ds/sparse-add.)
453 -
454 - Some rough edges in the sparse-checkout feature, especially around
455 - the cone mode, have been cleaned up.
456 -
457 - Will merge to 'master'.
458 -
459 -
460 -* es/doc-mentoring (2020-01-24) 1 commit
461 - (merged to 'next' on 2020-02-05 at 3b05aabbcd)
462 - + MyFirstContribution: add avenues for getting help
463 -
464 - Doc for new contributors.
465 -
466 - Waiting for the discussion to settle.
467 - cf. <20200206010704.GN10482@szeder.dev>
468 -
469 -
470 -* mr/show-config-scope (2020-02-10) 10 commits
471 - (merged to 'next' on 2020-02-11 at 904bca086e)
472 - + config: add '--show-scope' to print the scope of a config value
473 - + submodule-config: add subomdule config scope
474 - + config: teach git_config_source to remember its scope
475 - + config: preserve scope in do_git_config_sequence
476 - + config: clarify meaning of command line scoping
477 - + config: split repo scope to local and worktree
478 - + config: make scope_name non-static and rename it
479 - + t1300: create custom config file without special characters
480 - + t1300: fix over-indented HERE-DOCs
481 - + config: fix typo in variable name
482 - (this branch is used by bw/remote-rename-update-config and es/bugreport.)
483 -
484 - "git config" learned to show in which "scope", in addition to in
485 - which file, each config setting comes from.
486 -
487 - Will merge to 'master'.
488 -
489 -
490 -* bk/p4-pre-edit-changelist (2020-02-11) 7 commits
491 - - git-p4: add RCS keyword status message
492 - - git-p4: add p4 submit hooks
493 - - git-p4: restructure code in submit
494 - - git-p4: add --no-verify option
495 - - git-p4: add p4-pre-submit exit text
496 - - git-p4: create new function run_git_hook
497 - - git-p4: rewrite prompt to be Windows compatible
498 -
499 - "git p4" learned four new hooks and also "--no-verify" option to
500 - bypass them (and the existing "p4-pre-submit" hook).
501 -
502 -
503 -* en/fill-directory-exponential (2020-01-31) 6 commits
504 - - t7063: blindly accept diffs
505 - - dir: replace exponential algorithm with a linear one
506 - - dir: refactor treat_directory to clarify control flow
507 - - dir: fix confusion based on variable tense
508 - - dir: fix broken comment
509 - - dir: consolidate treat_path() and treat_one_path()
510 -
511 - The directory traversal code had redundant recursive calls which
512 - made its performance characteristics exponential wrt the depth of
513 - the tree, which was corrected.
514 -
515 - Still RFC?
516 - cf. <pull.700.v2.git.git.1580495486.gitgitgadget@gmail.com>
517 - cf. <CABPp-BF0SO92wxY-dM14Vxv6BGA5=T=CicdwbiaZ7c9w6-j2jQ@mail.gmail.com>
518 -
519 -
520 -* jh/notes-fanout-fix (2020-02-04) 2 commits
521 - (merged to 'next' on 2020-02-07 at a4ec94aee0)
522 - + notes.c: fix off-by-one error when decreasing notes fanout
523 - + t3305: check notes fanout more carefully and robustly
524 -
525 - The code to automatically shrink the fan-out in the notes tree had
526 - an off-by-one bug, which has been killed.
527 -
528 - Will merge to 'master'.
529 -
530 -
531 -* jk/alloc-cleanups (2020-02-04) 4 commits
532 - (merged to 'next' on 2020-02-07 at f259621312)
533 - + tree-walk.c: break circular dependency with unpack-trees
534 - + traverse_trees(): use stack array for name entries
535 - + walker_fetch(): avoid raw array length computation
536 - + normalize_path_copy(): document "dst" size expectations
537 -
538 - Misc code clean-ups.
539 -
540 - Will merge to 'master'.
541 -
542 -
543 -* jk/diff-honor-wserrhighlight-in-plumbing (2020-01-31) 1 commit
544 - (merged to 'next' on 2020-02-07 at acb077fdcb)
545 - + diff: move diff.wsErrorHighlight to "basic" config
546 -
547 - The diff-* plumbing family of subcommands now pay attention to the
548 - diff.wsErrorHighlight configuration, which has been ignored before;
549 - this allows "git add -p" to also show the whitespace problems to
550 - the end user.
551 -
552 - Will merge to 'master'.
553 -
554 -
555 -* jk/get-oid-error-message-i18n (2020-01-30) 3 commits
556 - (merged to 'next' on 2020-02-07 at 6bfe9235e5)
557 - + sha1-name: mark get_oid() error messages for translation
558 - + t1506: drop space after redirection operator
559 - + t1400: avoid "test" string comparisons
560 -
561 - A low-level API function get_oid(), that accepts various ways to
562 - name an object, used to issue end-user facing error messages
563 - without l10n, which has been updated to be translatable.
564 -
565 - Will merge to 'master'.
566 -
567 -
568 -* jk/index-pack-dupfix (2020-02-04) 1 commit
569 - (merged to 'next' on 2020-02-07 at e6d79d432b)
570 - + index-pack: downgrade twice-resolved REF_DELTA to die()
571 -
572 - The index-pack code now diagnoses a bad input packstream that
573 - records the same object twice when it is used as delta base; the
574 - code used to declare a software bug when encountering such an
575 - input, but it is an input error.
592 + - bisect--helper: introduce new `decide_next()` function
593 + - run-command: make `exists_in_PATH()` non-static
594 + - bisect: use the standard 'if (!var)' way to check for 0
595 + - bisect--helper: change `retval` to `res`
596 + - bisect--helper: convert `vocab_*` char pointers to char arrays
597
577 - Will merge to 'master'.
598 + Underlying machinery of "git bisect--helper" is being refactored
599 + into pieces that are more easily reused.
600
601
580 -* jt/connectivity-check-optim-in-partial-clone (2020-01-30) 2 commits
581 - (merged to 'next' on 2020-02-07 at ca5102fa58)
582 - + fetch: forgo full connectivity check if --filter
583 - + connected: verify promisor-ness of partial clone
602 +* bw/remote-rename-update-config (2020-02-10) 6 commits
603 + (merged to 'next' on 2020-02-14 at 30b1a477de)
604 + + remote rename/remove: gently handle remote.pushDefault config
605 + + config: provide access to the current line number
606 + + remote rename/remove: handle branch.<name>.pushRemote config values
607 + + remote: clean-up config callback
608 + + remote: clean-up by returning early to avoid one indentation
609 + + pull --rebase/remote rename: document and honor single-letter abbreviations rebase types
610
585 - Unneeded connectivity check is now disabled in a partial clone when
586 - fetching into it.
611 + "git remote rename X Y" needs to adjust configuration variables
612 + (e.g. branch.<name>.remote) whose value used to be X to Y.
613 + branch.<name>.pushRemote is now also updated.
614
615 Will merge to 'master'.
616
617
591 -* ld/p4-cleanup-processes (2020-01-30) 7 commits
592 - (merged to 'next' on 2020-02-07 at e8c573f01c)
593 - + git-p4: avoid leak of file handle when cloning
594 - + git-p4: check for access to remote host earlier
595 - + git-p4: cleanup better on error exit
596 - + git-p4: create helper function importRevisions()
597 - + git-p4: disable some pylint warnings, to get pylint output to something manageable
598 - + git-p4: add P4CommandException to report errors talking to Perforce
599 - + git-p4: make closeStreams() idempotent
618 +* es/bright-colors (2020-02-11) 3 commits
619 + (merged to 'next' on 2020-02-14 at cc17dbc7e8)
620 + + color.c: alias RGB colors 8-15 to aixterm colors
621 + + color.c: support bright aixterm colors
622 + + color.c: refactor color_output arguments
623
601 - p4 updates.
624 + The basic 7 colors learned the brighter counterparts
625 + (e.g. "brightred").
626
627 Will merge to 'master'.
628
629
606 -* mt/use-passed-repo-more-in-funcs (2020-01-31) 7 commits
607 - (merged to 'next' on 2020-02-07 at 536709ab4b)
608 - + sha1-file: allow check_object_signature() to handle any repo
609 - + sha1-file: pass git_hash_algo to hash_object_file()
610 - + sha1-file: pass git_hash_algo to write_object_file_prepare()
611 - + streaming: allow open_istream() to handle any repo
612 - + pack-check: use given repo's hash_algo at verify_packfile()
613 - + cache-tree: use given repo's hash_algo at verify_one()
614 - + diff: make diff_populate_filespec() honor its repo argument
630 +* es/doc-mentoring (2020-02-14) 2 commits
631 + (merged to 'next' on 2020-02-17 at e3f3e316eb)
632 + + MyFirstContribution: rephrase contact info
633 + (merged to 'next' on 2020-02-05 at 3b05aabbcd)
634 + + MyFirstContribution: add avenues for getting help
635
616 - Some codepaths were given a repository instance as a parameter to
617 - work in the repository, but passed the_repository instance to its
618 - callees, which has been cleaned up (somewhat).
636 + Doc for new contributors.
637
638 Will merge to 'master'.
639 + cf. <xmqqr1yxnkab.fsf@gitster-ct.c.googlers.com>
640
641
623 -* rs/name-rev-memsave (2020-02-05) 11 commits
624 - (merged to 'next' on 2020-02-11 at 17616cb9b1)
625 - + name-rev: sort tip names before applying
626 - + name-rev: release unused name strings
627 - + name-rev: generate name strings only if they are better
628 - + name-rev: pre-size buffer in get_parent_name()
629 - + name-rev: factor out get_parent_name()
630 - + name-rev: put struct rev_name into commit slab
631 - + name-rev: don't _peek() in create_or_update_name()
632 - + name-rev: don't leak path copy in name_ref()
633 - + name-rev: respect const qualifier
634 - + name-rev: remove unused typedef
635 - + name-rev: rewrite create_or_update_name()
642 +* bk/p4-pre-edit-changelist (2020-02-14) 7 commits
643 + - git-p4: add RCS keyword status message
644 + - git-p4: add p4 submit hooks
645 + - git-p4: restructure code in submit
646 + - git-p4: add --no-verify option
647 + - git-p4: add p4-pre-submit exit text
648 + - git-p4: create new function run_git_hook
649 + - git-p4: rewrite prompt to be Windows compatible
650
637 - Memory footprint and performance of "git name-rev" has been
638 - improved.
651 + "git p4" learned four new hooks and also "--no-verify" option to
652 + bypass them (and the existing "p4-pre-submit" hook).
653
640 - Will merge to 'master'.
654 + Waiting for response to RFH from Windows/Python folks.
655 + cf. <pull.698.v6.git.git.1581691486.gitgitgadget@gmail.com>
656
657
643 -* tb/commit-graph-object-dir (2020-02-04) 5 commits
644 - (merged to 'next' on 2020-02-07 at 5c85173df4)
645 - + commit-graph.h: use odb in 'load_commit_graph_one_fd_st'
646 - + commit-graph.c: remove path normalization, comparison
647 - + commit-graph.h: store object directory in 'struct commit_graph'
648 - + commit-graph.h: store an odb in 'struct write_commit_graph_context'
649 - + t5318: don't pass non-object directory to '--object-dir'
650 - (this branch is used by tb/commit-graph-split-merge.)
658 +* en/fill-directory-exponential (2020-01-31) 6 commits
659 + - t7063: blindly accept diffs
660 + - dir: replace exponential algorithm with a linear one
661 + - dir: refactor treat_directory to clarify control flow
662 + - dir: fix confusion based on variable tense
663 + - dir: fix broken comment
664 + - dir: consolidate treat_path() and treat_one_path()
665
652 - The code to compute the commit-graph has been taught to use a more
653 - robust way to tell if two object directories refer to the same
654 - thing.
666 + The directory traversal code had redundant recursive calls which
667 + made its performance characteristics exponential wrt the depth of
668 + the tree, which was corrected.
669
656 - Will merge to 'master'.
670 + Still RFC?
671 + cf. <pull.700.v2.git.git.1580495486.gitgitgadget@gmail.com>
672 + cf. <CABPp-BF0SO92wxY-dM14Vxv6BGA5=T=CicdwbiaZ7c9w6-j2jQ@mail.gmail.com>
673
674
675 * tb/commit-graph-split-merge (2020-02-12) 3 commits
676 - builtin/commit-graph.c: support '--input=none'
677 - builtin/commit-graph.c: introduce '--input=<source>'
678 - builtin/commit-graph.c: support '--split[=<strategy>]'
663 - (this branch uses tb/commit-graph-object-dir.)
679
680 The code to write out the commit-graph has been taught a few
681 options to control if the resulting graph chains should be merged
@@ -670,43 +685,6 @@ of the repositories listed at
685 cf. <20200212205028.GE4364@syl.local>
686
687
673 -* ag/edit-todo-drop-check (2020-01-28) 2 commits
674 - (merged to 'next' on 2020-02-07 at 687c82cd3a)
675 - + rebase-interactive: warn if commit is dropped with `rebase --edit-todo'
676 - + sequencer: move check_todo_list_from_file() to rebase-interactive.c
677 - (this branch uses js/rebase-i-with-colliding-hash.)
678 -
679 - Allow the rebase.missingCommitsCheck configuration to kick in when
680 - "rebase --edit-todo" and "rebase --continue" restarts the procedure.
681 -
682 - Will merge to 'master'.
683 -
684 -
685 -* kw/fsmonitor-watchman-racefix (2020-01-23) 4 commits
686 - (merged to 'next' on 2020-02-07 at 3c42195a34)
687 - + fsmonitor: update documentation for hook version and watchman hooks
688 - + fsmonitor: add fsmonitor hook scripts for version 2
689 - + fsmonitor: handle version 2 of the hooks that will use opaque token
690 - + fsmonitor: change last update timestamp on the index_state to opaque token
691 -
692 - A new version of fsmonitor-watchman hook has been introduced, to
693 - avoid races.
694 -
695 - Will merge to 'master'.
696 -
697 -
698 -* hw/advice-add-nothing (2020-02-06) 2 commits
699 - (merged to 'next' on 2020-02-07 at 3c2a5c1868)
700 - + add: change advice config variables used by the add API
701 - (merged to 'next' on 2020-01-22 at 3fe4494fa6)
702 - + add: use advise function to display hints
703 -
704 - Two help messages given when "git add" notices the user gave it
705 - nothing to add have been updated to use advise() API.
706 -
707 - Will merge to 'master'.
708 -
709 -
688 * am/pathspec-f-f-more (2020-02-10) 8 commits
689 - stash push: support the --pathspec-from-file option
690 - stash: eliminate crude option parsing
@@ -721,45 +699,6 @@ of the repositories listed at
699 option.
700
701
724 -* js/rebase-i-with-colliding-hash (2020-01-23) 3 commits
725 - (merged to 'next' on 2020-02-07 at 670ba07c4d)
726 - + rebase -i: also avoid SHA-1 collisions with missingCommitsCheck
727 - + rebase -i: re-fix short SHA-1 collision
728 - + parse_insn_line(): improve error message when parsing failed
729 - (this branch is used by ag/edit-todo-drop-check.)
730 -
731 - "git rebase -i" identifies existing commits in its todo file with
732 - their abbreviated object name, which could become ambigous as it
733 - goes to create new commits, and has a mechanism to avoid ambiguity
734 - in the main part of its execution. A few other cases however were
735 - not covered by the protection against ambiguity, which has been
736 - corrected.
737 -
738 - Will merge to 'master'.
739 -
740 -
741 -* mt/threaded-grep-in-object-store (2020-01-17) 12 commits
742 - (merged to 'next' on 2020-02-07 at e86bab09e1)
743 - + grep: use no. of cores as the default no. of threads
744 - + grep: move driver pre-load out of critical section
745 - + grep: re-enable threads in non-worktree case
746 - + grep: protect packed_git [re-]initialization
747 - + grep: allow submodule functions to run in parallel
748 - + submodule-config: add skip_if_read option to repo_read_gitmodules()
749 - + grep: replace grep_read_mutex by internal obj read lock
750 - + object-store: allow threaded access to object reading
751 - + replace-object: make replace operations thread-safe
752 - + grep: fix racy calls in grep_objects()
753 - + grep: fix race conditions at grep_submodule()
754 - + grep: fix race conditions on userdiff calls
755 -
756 - Traditionally, we avoided threaded grep while searching in objects
757 - (as opposed to files in the working tree) as accesses to the object
758 - layer is not thread-safe. This limitation is getting lifted.
759 -
760 - Will merge to 'master'.
761 -
762 -
702 * dl/merge-autostash (2020-01-13) 17 commits
703 - pull: pass --autostash to merge
704 - t5520: make test_pull_autostash() accept expect_parent_num
@@ -785,45 +724,8 @@ of the repositories listed at
724 cf. <20200123042906.GA29009@generichostname>
725
726
788 -* dl/test-must-fail-fixes-2 (2020-01-27) 16 commits
789 - (merged to 'next' on 2020-02-07 at 535e019692)
790 - + t4124: only mark git command with test_must_fail
791 - + t3507: use test_path_is_missing()
792 - + t3507: fix indentation
793 - + t3504: do check for conflict marker after failed cherry-pick
794 - + t3419: stop losing return code of git command
795 - + t3415: increase granularity of test_auto_{fixup,squash}()
796 - + t3415: stop losing return codes of git commands
797 - + t3310: extract common notes_merge_files_gone()
798 - + t3030: use test_path_is_missing()
799 - + t2018: replace "sha" with "oid"
800 - + t2018: don't lose return code of git commands
801 - + t2018: teach do_checkout() to accept `!` arg
802 - + t2018: be more discerning when checking for expected exit codes
803 - + t2018: improve style of if-statement
804 - + t2018: add space between function name and ()
805 - + t2018: remove trailing space from test description
806 -
807 - Test updates.
808 -
809 - Will merge to 'master'.
810 -
811 -
812 -* jn/promote-proto2-to-default (2020-01-15) 5 commits
813 - (merged to 'next' on 2020-02-07 at 5597fd726b)
814 - + fetch: default to protocol version 2
815 - + protocol test: let protocol.version override GIT_TEST_PROTOCOL_VERSION
816 - + test: request GIT_TEST_PROTOCOL_VERSION=0 when appropriate
817 - + config doc: protocol.version is not experimental
818 - + fetch test: use more robust test for filtered objects
819 -
820 - The transport protocol version 2 becomes the default one.
821 -
822 - Will merge to 'master'.
823 -
824 -
825 -* yz/p4-py3 (2020-01-15) 14 commits
826 - . ci: also run linux-gcc pipeline with python3.5 environment
727 +* yz/p4-py3 (2020-02-13) 14 commits
728 + - ci: use python3 in linux-gcc and osx-gcc and python2 elsewhere
729 - git-p4: use python3's input() everywhere
730 - git-p4: simplify regex pattern generation for parsing diff-tree
731 - git-p4: use dict.items() iteration for python3 compatibility
@@ -841,12 +743,12 @@ of the repositories listed at
743 Update "git p4" to work with Python 3.
744
745 Hold.
844 - The last step is too wasteful to run full tests twice.
845 - cf. <20200122235333.GA6837@szeder.dev>
846 - cf. <20200123175645.GF6837@szeder.dev>
746 + Waiting for SoB on the last step.
747 + cf. <xmqqk14qqj7n.fsf@gitster-ct.c.googlers.com>
748
749
849 -* en/rebase-backend (2020-01-17) 19 commits
750 +* en/rebase-backend (2020-02-16) 20 commits
751 + - rebase: rename the two primary rebase backends
752 - rebase: change the default backend from "am" to "merge"
753 - rebase: make the backend configurable via config setting
754 - rebase tests: repeat some tests using the merge backend instead of am
@@ -871,108 +773,6 @@ of the repositories listed at
773 while allowing "--am" option to go back to the traditional "am"
774 backend.
775
874 - Waiting for reviews and/or Acks.
875 - cf. <CABPp-BHONuRyt8VJqRuoCF2rGYZ5EhH9KJXQZ3NO69rYwA5J3g@mail.gmail.com>
876 -
877 -
878 -* jk/packfile-reuse-cleanup (2020-01-23) 12 commits
879 - (merged to 'next' on 2020-02-07 at c543bc27fb)
880 - + pack-bitmap: don't rely on bitmap_git->reuse_objects
881 - + pack-objects: add checks for duplicate objects
882 - + pack-objects: improve partial packfile reuse
883 - + builtin/pack-objects: introduce obj_is_packed()
884 - + pack-objects: introduce pack.allowPackReuse
885 - + csum-file: introduce hashfile_total()
886 - + pack-bitmap: simplify bitmap_has_oid_in_uninteresting()
887 - + pack-bitmap: uninteresting oid can be outside bitmapped packfile
888 - + pack-bitmap: introduce bitmap_walk_contains()
889 - + ewah/bitmap: introduce bitmap_word_alloc()
890 - + packfile: expose get_delta_base()
891 - + builtin/pack-objects: report reused packfile objects
892 -
893 - The way "git pack-objects" reuses objects stored in existing pack
894 - to generate its result has been improved.
895 -
896 - Will merge to 'master'.
897 -
898 ---------------------------------------------------
899 -[Discarded]
900 -
901 -* jc/format-patch-delay-message-id (2019-04-05) 1 commit
902 - . format-patch: move message-id and related headers to the end
903 -
904 - The location "git format-patch --thread" adds the Message-Id:
905 - header in the series of header fields has been moved down, which
906 - may help working around a suspected bug in GMail MSA, reported at
907 - <CAHk-=whP1stFZNAaJiMi5eZ9rj0MRt20Y_yHVczZPH+O01d+sA@mail.gmail.com>
908 -
909 - Was waiting for feedback to see if it truly helps.
910 -
911 -
912 -* es/pathspec-f-f-grep (2020-01-13) 1 commit
913 - . grep: support the --pathspec-from-file option
914 -
915 - "git grep" learned the "--pathspec-from-file" command line
916 - option.
917 -
918 - Getting tired of waiting for review responses.
919 - cf. <20191204203911.237056-1-emilyshaffer@google.com>
920 -
921 -
922 -* ma/config-bool-valex (2019-11-14) 8 commits
923 - . builtin/config: die if "value_regex" doesn't canonicalize as boolean
924 - . builtin/config: warn if "value_regex" doesn't canonicalize as boolean
925 - . builtin/config: canonicalize "value_regex" with `--type=bool-or-int`
926 - . builtin/config: canonicalize "value_regex" with `--type=bool`
927 - . builtin/config: collect "value_regexp" data in a struct
928 - . builtin/config: extract `handle_value_regex()` from `get_value()`
929 - . t1300: modernize part of script
930 - . config: make `git_parse_maybe_bool_text()` public
931 -
932 - "git config" can be told to affect the existing entries that
933 - "match" the given value via its value_regex argument. It learned
934 - to normalize the value set in the configuration and the value given
935 - from the command line before computing they "match", e.g. "true" in
936 - the configuration file can now match with "yes" given from the
937 - command line.
938 -
939 - Retracted for now.
940 - cf. <CAN0heSpxhoAqSvN_TJHPntSagx3oA4s7iUebHcsYML8NSYwfUA@mail.gmail.com>
941 -
942 -
943 -* ds/fsmonitor-testing (2019-12-09) 8 commits
944 - . test-lib: clear watchman watches at test completion
945 - . t7519: disable external GIT_TEST_FSMONITOR variable
946 - . t7063: disable fsmonitor with status cache
947 - . tests: disable fsmonitor in submodule tests
948 - . t3030-merge-recursive.sh: disable fsmonitor when tweaking GIT_WORK_TREE
949 - . t1301-shared-repo.sh: disable FSMONITOR
950 - . fsmonitor: do not output to stderr for tests
951 - . fsmonitor: disable in a bare repo
952 -
953 - Updates around testing fsmoitor integration.
954 -
955 - Retracted for now.
956 - cf. <a780fe83-c82c-c8fa-3f8d-5db9a7886875@gmail.com>
957 -
958 -
959 -* jn/unknown-index-extensions (2018-11-21) 2 commits
960 - . index: offer advice for unknown index extensions
961 - . index: do not warn about unrecognized extensions
962 -
963 - A bit too alarming warning given when unknown index extensions
964 - exist is getting revamped.
965 -
966 - Getting tired of waiting for a reroll.
967 -
968 -
969 -* js/protocol-advertise-multi (2018-12-28) 1 commit
970 - . protocol: advertise multiple supported versions
971 -
972 - The transport layer has been updated so that the protocol version
973 - used can be negotiated between the parties, by the initiator
974 - listing the protocol versions it is willing to talk, and the other
975 - side choosing from one of them.
976 -
977 - Getting tired of waiting for a reroll.
978 - cf. <CANq=j3u-zdb_FvNJGPCmygNMScseav63GhVvBX3NcVS4f7TejA@mail.gmail.com>
776 + The last step may be rushing things a bit and may want to be
777 + taken separately.
778 + cf. <pull.679.v5.git.git.1581802602.gitgitgadget@gmail.com>