What's cooking (2020/02 #03)

Junio C Hamano committed Feb 12, 2020 at 13:31 UTC f5e0f95ecaea167a0dbce884e0a2790e06012112
1 file changed +373 -487
whats-cooking.txt
+373 -487
@@ -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, #02; Mon, 10)
4 -X-master-at: de93cc14ab7e8db7645d8dbe4fd2603f76d5851f
5 -X-next-at: 5c85173df499e49e5e4dc041fb5d5e4a8594563e
3 +Subject: What's cooking in git.git (Feb 2020, #03; Wed, 12)
4 +X-master-at: d8437c57fa0752716dde2d3747e7c22bf7ce2e41
5 +X-next-at: cffb4d697ea3219afa675b81c08f1fe6006a74d1
6
7 -What's cooking in git.git (Feb 2020, #02; Mon, 10)
7 +What's cooking in git.git (Feb 2020, #03; Wed, 12)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -20,318 +20,185 @@ of the repositories listed at
20 --------------------------------------------------
21 [Graduated to "master"]
22
23 -* am/checkout-file-and-ref-ref-ambiguity (2020-01-07) 2 commits
24 - (merged to 'next' on 2020-01-27 at daf1dadc78)
25 - + checkout: don't revert file on ambiguous tracking branches
26 - + parse_branchname_arg(): extract part as new function
27 -
28 - "git checkout X" did not correctly fail when X is not a local
29 - branch but could name more than one remote-tracking branches
30 - (i.e. to be dwimmed as the starting point to create a corresponding
31 - local branch), which has been corrected.
32 -
33 -
34 -* bc/hash-independent-tests-part-7 (2020-01-15) 20 commits
35 - (merged to 'next' on 2020-01-27 at a519c8fae4)
36 - + t5604: make hash independent
37 - + t5601: switch into repository to hash object
38 - + t5562: use $ZERO_OID
39 - + t5540: make hash size independent
40 - + t5537: make hash size independent
41 - + t5530: compute results based on object length
42 - + t5512: abstract away SHA-1-specific constants
43 - + t5510: make hash size independent
44 - + t5504: make hash algorithm independent
45 - + t5324: make hash size independent
46 - + t5319: make test work with SHA-256
47 - + t5319: change invalid offset for SHA-256 compatibility
48 - + t5318: update for SHA-256
49 - + t4300: abstract away SHA-1-specific constants
50 - + t4204: make hash size independent
51 - + t4202: abstract away SHA-1-specific constants
52 - + t4200: make hash size independent
53 - + t4134: compute appropriate length constant
54 - + t4066: compute index line in diffs
55 - + t4054: make hash-size independent
56 -
57 - Preparation of test scripts for the day when the object names will
58 - use SHA-256 continues.
59 -
60 -
61 -* dl/test-must-fail-fixes (2019-12-20) 15 commits
62 - (merged to 'next' on 2020-01-27 at ed382cd096)
63 - + t1507: inline full_name()
64 - + t1507: run commands within test_expect_success
65 - + t1507: stop losing return codes of git commands
66 - + t1501: remove use of `test_might_fail cp`
67 - + t1409: use test_path_is_missing()
68 - + t1409: let sed open its own input file
69 - + t1307: reorder `nongit test_must_fail`
70 - + t1306: convert `test_might_fail rm` to `rm -f`
71 - + t0020: use ! check_packed_refs_marked
72 - + t0020: don't use `test_must_fail has_cr`
73 - + t0003: don't use `test_must_fail attr_check`
74 - + t0003: use test_must_be_empty()
75 - + t0003: use named parameters in attr_check()
76 - + t0000: replace test_must_fail with run_sub_test_lib_test_err()
77 - + t/lib-git-p4: use test_path_is_missing()
78 -
79 - Test clean-up.
80 -
81 -
82 -* en/fill-directory-fixes-more (2020-01-16) 4 commits
83 - (merged to 'next' on 2020-01-27 at 9a27e1495b)
84 - + dir: point treat_leading_path() warning to the right place
85 - + dir: restructure in a way to avoid passing around a struct dirent
86 - + dir: treat_leading_path() and read_directory_recursive(), round 2
87 - + clean: demonstrate a bug with pathspecs
88 - (this branch is used by en/fill-directory-exponential.)
89 -
90 - Corner case bugs in "git clean" that stems from a (necessarily for
91 - performance reasons) awkward calling convention in the directory
92 - enumeration API has been corrected.
93 -
94 -
95 -* es/fetch-show-failed-submodules-atend (2020-01-17) 1 commit
96 - (merged to 'next' on 2020-01-27 at 7b41163881)
97 - + fetch: emphasize failure during submodule fetch
98 -
99 - A fetch that is told to recursively fetch updates in submodules
100 - inevitably produces reams of output, and it becomes hard to spot
101 - error messages. The command has been taught to enumerate
102 - submodules that had errors at the end of the operation.
103 -
104 -
105 -* js/add-p-leftover-bits (2020-01-15) 10 commits
106 - (merged to 'next' on 2020-01-27 at ec5021a1bd)
107 - + ci: include the built-in `git add -i` in the `linux-gcc` job
108 - + built-in add -p: handle Escape sequences more efficiently
109 - + built-in add -p: handle Escape sequences in interactive.singlekey mode
110 - + built-in add -p: respect the `interactive.singlekey` config setting
111 - + terminal: add a new function to read a single keystroke
112 - + terminal: accommodate Git for Windows' default terminal
113 - + terminal: make the code of disable_echo() reusable
114 - + built-in add -p: handle diff.algorithm
115 - + built-in add -p: support interactive.diffFilter
116 - + t3701: adjust difffilter test
117 - (this branch uses js/patch-mode-in-others-in-c.)
118 -
119 - The final leg of rewriting "add -i/-p" in C.
120 -
121 -
122 -* js/patch-mode-in-others-in-c (2019-12-21) 7 commits
123 - (merged to 'next' on 2020-01-27 at 36f6756aae)
124 - + commit --interactive: make it work with the built-in `add -i`
125 - + built-in add -p: implement the "worktree" patch modes
126 - + built-in add -p: implement the "checkout" patch modes
127 - + built-in stash: use the built-in `git add -p` if so configured
128 - + legacy stash -p: respect the add.interactive.usebuiltin setting
129 - + built-in add -p: implement the "stash" and "reset" patch modes
130 - + built-in add -p: prepare for patch modes other than "stage"
131 - (this branch is used by js/add-p-leftover-bits.)
132 -
133 - The effort to move "git-add--interactive" to C continues.
134 -
135 -
136 -* km/submodule-add-errmsg (2020-01-15) 1 commit
137 - (merged to 'next' on 2020-01-27 at 0ff8378907)
138 - + submodule add: show 'add --dry-run' stderr when aborting
139 -
140 - Improve error message generation for "git submodule add".
141 -
142 -
143 -* mt/sparse-checkout-doc-update (2020-01-23) 2 commits
144 - (merged to 'next' on 2020-01-27 at dbd5a83613)
145 - + completion: add support for sparse-checkout
146 - + doc: sparse-checkout: mention --cone option
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
148 - Doc update.
27 + Running "git rm" on a submodule failed unnecessarily when
28 + .gitmodules is only cache-dirty, which has been corrected.
29
30
151 -* pb/recurse-submodule-in-worktree-fix (2020-01-22) 4 commits
152 - (merged to 'next' on 2020-01-27 at e4cb1e376a)
153 - + submodule.c: use get_git_dir() instead of get_git_common_dir()
154 - + t2405: clarify test descriptions and simplify test
155 - + t2405: use git -C and test_commit -C instead of subshells
156 - + t7410: rename to t2405-worktree-submodule.sh
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
34
158 - The "--recurse-submodules" option of various subcommands did not
159 - work well when run in an alternate worktree, which has been
160 - corrected.
35 + Error message fix.
36
162 ---------------------------------------------------
163 -[New Topics]
37
165 -* hn/reftable (2020-02-10) 5 commits
166 - - Reftable support for git-core
167 - - Add reftable library
168 - - refs: document how ref_iterator_advance_fn should handle symrefs
169 - - create .git/refs in files-backend.c
170 - - refs.h: clarify reflog iteration order
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
41
172 - A new refs backend "reftable" to replace the traditional
173 - combination of packed-refs files and one-file-per-ref loose refs
174 - has been implemented and integrated for improved performance and
175 - atomicity.
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.
47
177 - At v5.
48
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
52
180 -* es/bugreport (2020-02-10) 15 commits
181 - - bugreport: summarize contents of alternates file
182 - - bugreport: list contents of $OBJDIR/info
183 - - bugreport: add packed object summary
184 - - bugreport: count loose objects
185 - - bugreport: collect list of populated hooks
186 - - bugreport: add config values from safelist
187 - - bugreport: generate config safelist based on docs
188 - - bugreport: include user interactive shell
189 - - bugreport: add git-remote-https version
190 - - bugreport: add compiler info
191 - - bugreport: add uname info
192 - - bugreport: gather git version and build info
193 - - bugreport: add tool to generate debugging info
194 - - help: add shell-path to --build-options
195 - - help: move list_config_help to builtin/help
196 - (this branch uses mr/show-config-scope; is tangled with bw/remote-rename-update-config.)
53 + Doc fix.
54
198 - The "bugreport" tool.
55
200 - at v6.
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
59
60 + Error message fix.
61
203 -* gs/commit-graph-path-filter (2020-02-06) 11 commits
204 - - commit-graph: add GIT_TEST_COMMIT_GRAPH_CHANGED_PATHS test flag
205 - - revision.c: use Bloom filters to speed up path based revision walks
206 - - commit-graph: add --changed-paths option to write subcommand
207 - - commit-graph: reuse existing Bloom filters during write.
208 - - commit-graph: write Bloom filters to commit graph file
209 - - commit-graph: examine commits by generation number
210 - - commit-graph: examine changed-path objects in pack order
211 - - commit-graph: compute Bloom filters for changed paths
212 - - diff: halt tree-diff early after max_changes
213 - - bloom: core Bloom filter implementation for changed paths
214 - - commit-graph: use MAX_NUM_CHUNKS
62
216 - Introduce an extension to the commit-graph to make it efficient to
217 - check for the paths that were modified at each commit using Bloom
218 - filters.
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
66
220 - Breakage due to byte-order dependency reported.
67 + Code simplification.
68
69
223 -* bc/hash-independent-tests-part-8 (2020-02-07) 21 commits
224 - - t6024: update for SHA-256
225 - - t6006: make hash size independent
226 - - t6000: abstract away SHA-1-specific constants
227 - - t5703: make test work with SHA-256
228 - - t5607: make hash size independent
229 - - t5318: update for SHA-256
230 - - t5515: make test hash independent
231 - - t5321: make test hash independent
232 - - t5313: make test hash independent
233 - - t5309: make test hash independent
234 - - t5302: make hash size independent
235 - - t4060: make test work with SHA-256
236 - - t4211: add test cases for SHA-256
237 - - t4211: move SHA-1-specific test cases into a directory
238 - - t4013: make test hash independent
239 - - t3311: make test work with SHA-256
240 - - t3310: make test work with SHA-256
241 - - t3309: make test work with SHA-256
242 - - t3308: make test work with SHA-256
243 - - t3206: make hash size independent
244 - - t/lib-pack: support SHA-256
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
77
246 - Preparation for SHA-256 migration continues.
78 + C pedantry ;-) fix.
79
248 - Will merge to 'next'.
80
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
84
251 -* es/submodule-fetch-message-fix (2020-02-07) 1 commit
252 - - submodule: add newline on invalid submodule error
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.
88
254 - Error message fix.
89
256 - Will merge to 'next'.
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
93
94 + Doc update.
95
259 -* ma/diff-doc-clarify-regexp-example (2020-02-09) 1 commit
260 - - diff-options.txt: avoid "regex" overload in example
96
262 - Doc clarification.
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
100
264 - Will merge to 'next'.
101 + Warn programmers about pretend_object_file() that allows the code
102 + to tentatively use in-core objects.
103
104
267 -* jb/multi-pack-index-docfix (2020-02-10) 1 commit
268 - - pack-format: correct multi-pack-index description
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
108
270 - Doc fix.
109 + Squelch unhelpful warning message during documentation build.
110
272 - Will merge to 'next'.
111
112 +* js/convert-typofix (2020-02-11) 1 commit
113 + (merged to 'next' on 2020-02-11 at 32ccd29dc5)
114 + + convert: fix typo
115
275 -* js/ci-squelch-doc-warning (2020-02-10) 1 commit
276 - - ci: ignore rubygems warning in the "Documentation" job
116 + Typofix.
117
278 - Squelch unhelpful warning message during documentation build.
118
280 - Will merge to 'next'.
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
122
123 + Futureproofing a test not to depend on the current implementation
124 + detail.
125
283 -* mr/bisect-in-c-1 (2020-02-10) 13 commits
284 - - bisect: libify `bisect_next_all`
285 - - bisect: libify `handle_bad_merge_base` and its dependents
286 - - bisect: libify `check_good_are_ancestors_of_bad` and its dependents
287 - - bisect: libify `check_merge_bases` and its dependents
288 - - bisect: libify `bisect_checkout`
289 - - bisect: libify `exit_if_skipped_commits` to `error_if_skipped*` and its dependents
290 - - bisect--helper: return error codes from `cmd_bisect__helper()`
291 - - bisect: add enum to represent bisect returning codes
292 - - bisect--helper: introduce new `decide_next()` function
293 - - run-command: make `exists_in_PATH()` non-static
294 - - bisect: use the standard 'if (!var)' way to check for 0
295 - - bisect--helper: change `retval` to `res`
296 - - bisect--helper: convert `vocab_*` char pointers to char arrays
126
298 - Underlying machinery of "git bisect--helper" is being refactored
299 - into pieces that are more easily reused.
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
130
131 + Docfix.
132
302 -* rs/parse-options-concat-dup (2020-02-10) 4 commits
303 - - parse-options: simplify parse_options_dup()
304 - - parse-options: const parse_options_concat() parameters
305 - - parse-options: factor out parse_options_count()
306 - - parse-options: use COPY_ARRAY in parse_options_concat()
133
308 - Code clean-up.
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
137 +
138 + Doc clarification.
139 +
140 +
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
144 +
145 + Doc mark-up updates.
146 +
147 +
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
151 +
152 + Technical details of the bundle format has been documented.
153 + I think this is in a good enough shape.
154 +
155 +
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
159 +
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.
164 +
165 +--------------------------------------------------
166 +[New Topics]
167 +
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.)
174 +
175 + "git sparse-checkout" learned a new "add" subcommand.
176
177 Will merge to 'next'.
178
179
313 -* rs/strbuf-insertstr (2020-02-10) 2 commits
314 - - mailinfo: don't insert header prefix for handle_content_type()
315 - - strbuf: add and use strbuf_insertstr()
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.)
187
188 Code clean-up.
189
319 - Will merge to 'next'.
190 + Will merge to 'master'.
191
321 ---------------------------------------------------
322 -[Stalled]
192
324 -* jc/format-patch-delay-message-id (2019-04-05) 1 commit
325 - - format-patch: move message-id and related headers to the end
193 +* js/test-write-junit-xml-fix (2020-02-12) 1 commit
194 + - tests: fix --write-junit-xml with subshells
195
327 - The location "git format-patch --thread" adds the Message-Id:
328 - header in the series of header fields has been moved down, which
329 - may help working around a suspected bug in GMail MSA, reported at
330 - <CAHk-=whP1stFZNAaJiMi5eZ9rj0MRt20Y_yHVczZPH+O01d+sA@mail.gmail.com>
196 + Testfix.
197
332 - Waiting for feedback to see if it truly helps.
333 - Needs tests.
198 + Will merge to 'next'.
199
200 +--------------------------------------------------
201 +[Stalled]
202
203 * pw/advise-rebase-skip (2019-12-06) 9 commits
204 - rebase -i: leave CHERRY_PICK_HEAD when there are conflicts
@@ -352,101 +219,167 @@ of the repositories listed at
219 The tip two are still RFC.
220
221
355 -* es/pathspec-f-f-grep (2020-01-13) 1 commit
356 - . grep: support the --pathspec-from-file option
222 +* vn/reset-deleted-ita (2019-07-26) 1 commit
223 + - reset: unstage empty deleted ita files
224
358 - "git grep" learned the "--pathspec-from-file" command line
359 - option.
225 + "git reset HEAD [<pathspec>]" did not reset an empty file that was
226 + added with the intent-to-add bit.
227
361 - Getting tired of waiting for review responses. Will discard.
362 - cf. <20191204203911.237056-1-emilyshaffer@google.com>
228 + Expecting a reroll.
229 +
230 +
231 +* mk/use-size-t-in-zlib (2018-10-15) 1 commit
232 + - zlib.c: use size_t for size
233 +
234 + The wrapper to call into zlib followed our long tradition to use
235 + "unsigned long" for sizes of regions in memory, which have been
236 + updated to use "size_t".
237
238 +--------------------------------------------------
239 +[Cooking]
240
365 -* at/rebase-fork-point-regression-fix (2019-12-09) 1 commit
366 - - rebase: fix --fork-point with short refname
241 +* at/rebase-fork-point-regression-fix (2020-02-11) 1 commit
242 + - rebase: --fork-point regression fix
243
244 The "--fork-point" mode of "git rebase" regressed when the command
245 was rewritten in C back in 2.20 era, which has been corrected.
246
247 Was waiting for discussion to settle.
248 cf. <CAPig+cQ-3Ds41hr91fRo_GvuFMTP7zNVJtaSqi-Yccq4Pk-8Qg@mail.gmail.com>
249 + cf. <xmqq36dtwcvw.fsf@gitster-ct.c.googlers.com>
250
251
375 -* ma/config-bool-valex (2019-11-14) 8 commits
376 - - builtin/config: die if "value_regex" doesn't canonicalize as boolean
377 - - builtin/config: warn if "value_regex" doesn't canonicalize as boolean
378 - - builtin/config: canonicalize "value_regex" with `--type=bool-or-int`
379 - - builtin/config: canonicalize "value_regex" with `--type=bool`
380 - - builtin/config: collect "value_regexp" data in a struct
381 - - builtin/config: extract `handle_value_regex()` from `get_value()`
382 - - t1300: modernize part of script
383 - - config: make `git_parse_maybe_bool_text()` public
252 +* 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
258
385 - "git config" can be told to affect the existing entries that
386 - "match" the given value via its value_regex argument. It learned
387 - to normalize the value set in the configuration and the value given
388 - from the command line before computing they "match", e.g. "true" in
389 - the configuration file can now match with "yes" given from the
390 - command line.
259 + A new refs backend "reftable" to replace the traditional
260 + combination of packed-refs files and one-file-per-ref loose refs
261 + has been implemented and integrated for improved performance and
262 + atomicity.
263
392 - Retracted for now.
393 - cf. <CAN0heSpxhoAqSvN_TJHPntSagx3oA4s7iUebHcsYML8NSYwfUA@mail.gmail.com>
264 + At v5.
265
266
396 -* ds/fsmonitor-testing (2019-12-09) 8 commits
397 - - test-lib: clear watchman watches at test completion
398 - - t7519: disable external GIT_TEST_FSMONITOR variable
399 - - t7063: disable fsmonitor with status cache
400 - - tests: disable fsmonitor in submodule tests
401 - - t3030-merge-recursive.sh: disable fsmonitor when tweaking GIT_WORK_TREE
402 - - t1301-shared-repo.sh: disable FSMONITOR
403 - - fsmonitor: do not output to stderr for tests
404 - - fsmonitor: disable in a bare repo
267 +* es/bugreport (2020-02-12) 16 commits
268 + - SQUASH??? t0091 style and i18n fixes
269 + - bugreport: summarize contents of alternates file
270 + - bugreport: list contents of $OBJDIR/info
271 + - bugreport: add packed object summary
272 + - bugreport: count loose objects
273 + - bugreport: collect list of populated hooks
274 + - bugreport: add config values from safelist
275 + - bugreport: generate config safelist based on docs
276 + - bugreport: include user interactive shell
277 + - bugreport: add git-remote-https version
278 + - bugreport: add compiler info
279 + - bugreport: add uname info
280 + - bugreport: gather git version and build info
281 + - bugreport: add tool to generate debugging info
282 + - help: add shell-path to --build-options
283 + - help: move list_config_help to builtin/help
284 + (this branch uses mr/show-config-scope; is tangled with bw/remote-rename-update-config.)
285
406 - Updates around testing fsmoitor integration.
407 - cf. <pull.466.v2.git.1575907804.gitgitgadget@gmail.com>
286 + The "bugreport" tool.
287
288 + at v6. Breaks gettext-poison builds
289
410 -* vn/reset-deleted-ita (2019-07-26) 1 commit
411 - - reset: unstage empty deleted ita files
290
413 - "git reset HEAD [<pathspec>]" did not reset an empty file that was
414 - added with the intent-to-add bit.
291 +* gs/commit-graph-path-filter (2020-02-12) 12 commits
292 + - (bytesex breakage band-aid)
293 + - commit-graph: add GIT_TEST_COMMIT_GRAPH_CHANGED_PATHS test flag
294 + - revision.c: use Bloom filters to speed up path based revision walks
295 + - commit-graph: add --changed-paths option to write subcommand
296 + - commit-graph: reuse existing Bloom filters during write.
297 + - commit-graph: write Bloom filters to commit graph file
298 + - commit-graph: examine commits by generation number
299 + - commit-graph: examine changed-path objects in pack order
300 + - commit-graph: compute Bloom filters for changed paths
301 + - diff: halt tree-diff early after max_changes
302 + - bloom: core Bloom filter implementation for changed paths
303 + - commit-graph: use MAX_NUM_CHUNKS
304
416 - Expecting a reroll.
305 + Introduce an extension to the commit-graph to make it efficient to
306 + check for the paths that were modified at each commit using Bloom
307 + filters.
308
309 + Will be rerolled with bytesex fixes squashed in.
310 + Breakage due to byte-order dependency reported.
311
419 -* jn/unknown-index-extensions (2018-11-21) 2 commits
420 - . index: offer advice for unknown index extensions
421 - . index: do not warn about unrecognized extensions
312
423 - A bit too alarming warning given when unknown index extensions
424 - exist is getting revamped.
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
426 - Getting tired of waiting for a reroll. Will discard.
337 + Preparation for SHA-256 migration continues.
338
339 + Will merge to 'master'.
340
429 -* js/protocol-advertise-multi (2018-12-28) 1 commit
430 - . protocol: advertise multiple supported versions
341
432 - The transport layer has been updated so that the protocol version
433 - used can be negotiated between the parties, by the initiator
434 - listing the protocol versions it is willing to talk, and the other
435 - side choosing from one of them.
342 +* mr/bisect-in-c-1 (2020-02-10) 13 commits
343 + - bisect: libify `bisect_next_all`
344 + - bisect: libify `handle_bad_merge_base` and its dependents
345 + - bisect: libify `check_good_are_ancestors_of_bad` and its dependents
346 + - bisect: libify `check_merge_bases` and its dependents
347 + - bisect: libify `bisect_checkout`
348 + - bisect: libify `exit_if_skipped_commits` to `error_if_skipped*` and its dependents
349 + - bisect--helper: return error codes from `cmd_bisect__helper()`
350 + - 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
437 - Getting tired of waiting for a reroll. Will discard.
438 - cf. <CANq=j3u-zdb_FvNJGPCmygNMScseav63GhVvBX3NcVS4f7TejA@mail.gmail.com>
357 + Underlying machinery of "git bisect--helper" is being refactored
358 + into pieces that are more easily reused.
359
360
441 -* mk/use-size-t-in-zlib (2018-10-15) 1 commit
442 - - zlib.c: use size_t for size
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
444 - The wrapper to call into zlib followed our long tradition to use
445 - "unsigned long" for sizes of regions in memory, which have been
446 - updated to use "size_t".
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
448 ---------------------------------------------------
449 -[Cooking]
383
384 * bw/remote-rename-update-config (2020-02-10) 6 commits
385 - remote rename/remove: gently handle remote.pushDefault config
@@ -461,10 +394,10 @@ of the repositories listed at
394 (e.g. branch.<name>.remote) whose value used to be X to Y.
395 branch.<name>.pushRemote is now also updated.
396
464 - Waiting for mr/show-config-scope to stabilize.
397 + Will merge to 'next'?
398
399
467 -* es/bright-colors (2020-01-23) 3 commits
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
@@ -472,9 +405,7 @@ of the repositories listed at
405 The basic 7 colors learned the brighter counterparts
406 (e.g. "brightred").
407
475 - Expecting a reroll.
476 - cf. <xmqqmuagbsyw.fsf@gitster-ct.c.googlers.com>
477 - cf. <xmqqo8ut3hsu.fsf@gitster-ct.c.googlers.com>
408 + Will merge to 'next'.
409
410
411 * pk/status-of-uncloned-submodule (2020-02-04) 3 commits
@@ -518,6 +449,7 @@ of the repositories listed at
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.
@@ -536,28 +468,31 @@ of the repositories listed at
468
469
470 * mr/show-config-scope (2020-02-10) 10 commits
539 - - config: add '--show-scope' to print the scope of a config value
540 - - submodule-config: add subomdule config scope
541 - - config: teach git_config_source to remember its scope
542 - - config: preserve scope in do_git_config_sequence
543 - - config: clarify meaning of command line scoping
544 - - config: split repo scope to local and worktree
545 - - config: make scope_name non-static and rename it
546 - - t1300: create custom config file without special characters
547 - - t1300: fix over-indented HERE-DOCs
548 - - config: fix typo in variable name
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
554 - Will merge to 'next'.
487 + Will merge to 'master'.
488
489
557 -* bk/p4-pre-edit-changelist (2020-02-06) 5 commits
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
@@ -565,16 +500,6 @@ of the repositories listed at
500 bypass them (and the existing "p4-pre-submit" hook).
501
502
568 -* dt/submodule-rm-with-stale-cache (2020-01-28) 1 commit
569 - (merged to 'next' on 2020-02-05 at 701ef6c41b)
570 - + git rm submodule: succeed if .gitmodules index stat info is zero
571 -
572 - Running "git rm" on a submodule failed unnecessarily when
573 - .gitmodules is only cache-dirty, which has been corrected.
574 -
575 - Will merge to 'master'.
576 -
577 -
503 * en/fill-directory-exponential (2020-01-31) 6 commits
504 - t7063: blindly accept diffs
505 - dir: replace exponential algorithm with a linear one
@@ -592,36 +517,6 @@ of the repositories listed at
517 cf. <CABPp-BF0SO92wxY-dM14Vxv6BGA5=T=CicdwbiaZ7c9w6-j2jQ@mail.gmail.com>
518
519
595 -* hw/doc-git-dir (2020-01-30) 1 commit
596 - (merged to 'next' on 2020-02-05 at 839ae05c00)
597 - + git: update documentation for --git-dir
598 -
599 - One effect of specifying where the GIT_DIR is (either with the
600 - environment variable, or with the "git --git-dir=<where> cmd"
601 - option) is to disable the repository discovery. This has been
602 - placed a bit more stress in the documentation, as new users often
603 - get confused.
604 -
605 - Will merge to 'master'.
606 -
607 -
608 -* jb/parse-options-message-fix (2020-02-05) 1 commit
609 - - parse-options: lose an unnecessary space in an error message
610 -
611 - Error message fix.
612 -
613 - Will merge to 'next'.
614 -
615 -
616 -* jc/skip-prefix (2020-01-31) 1 commit
617 - (merged to 'next' on 2020-02-05 at f6893a42d0)
618 - + C: use skip_prefix() to avoid hardcoded string length
619 -
620 - Code simplification.
621 -
622 - Will merge to 'master'.
623 -
624 -
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
@@ -645,19 +540,6 @@ of the repositories listed at
540 Will merge to 'master'.
541
542
648 -* jk/clang-sanitizer-fixes (2020-01-28) 5 commits
649 - (merged to 'next' on 2020-02-05 at 8ef84c2d96)
650 - + obstack: avoid computing offsets from NULL pointer
651 - + xdiff: avoid computing non-zero offset from NULL pointer
652 - + avoid computing zero offsets from NULL pointer
653 - + merge-recursive: use subtraction to flip stage
654 - + merge-recursive: silence -Wxor-used-as-pow warning
655 -
656 - C pedantry ;-) fix.
657 -
658 - Will merge to 'master'.
659 -
660 -
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
@@ -670,17 +552,6 @@ of the repositories listed at
552 Will merge to 'master'.
553
554
673 -* jk/escaped-wildcard-dwim (2020-01-27) 1 commit
674 - (merged to 'next' on 2020-02-05 at ebee5e92a7)
675 - + verify_filename(): handle backslashes in "wildcards are pathspecs" rule
676 -
677 - Disambiguation logic to tell revisions and pathspec apart has been
678 - tweaked so that backslash-escaped glob special characters do not
679 - count in the "wildcards are pathspec" rule.
680 -
681 - Will merge to 'master'.
682 -
683 -
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
@@ -706,15 +577,6 @@ of the repositories listed at
577 Will merge to 'master'.
578
579
709 -* jk/push-default-doc (2020-01-29) 1 commit
710 - (merged to 'next' on 2020-02-05 at 33167357a1)
711 - + doc: drop "explicitly given" from push.default description
712 -
713 - Doc update.
714 -
715 - Will merge to 'master'.
716 -
717 -
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
@@ -726,25 +588,6 @@ of the repositories listed at
588 Will merge to 'master'.
589
590
729 -* jt/t5616-robustify (2020-01-27) 1 commit
730 - (merged to 'next' on 2020-02-05 at cdb02e8849)
731 - + t5616: make robust to delta base change
732 -
733 - Futureproofing a test not to depend on the current implementation
734 - detail.
735 -
736 - Will merge to 'master'.
737 -
738 -
739 -* km/submodule-doc-use-sm-path (2020-01-31) 1 commit
740 - (merged to 'next' on 2020-02-05 at a73aa350b5)
741 - + submodule foreach: replace $path with $sm_path in example
742 -
743 - Docfix.
744 -
745 - Will merge to 'master'.
746 -
747 -
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
@@ -760,24 +603,6 @@ of the repositories listed at
603 Will merge to 'master'.
604
605
763 -* ma/filter-branch-doc-caret (2020-02-04) 1 commit
764 - (merged to 'next' on 2020-02-05 at 4d5dbd1dba)
765 - + git-filter-branch.txt: wrap "maths" notation in backticks
766 -
767 - Doc mark-up updates.
768 -
769 - Will merge to 'master'.
770 -
771 -
772 -* ms/doc-bundle-format (2020-02-07) 1 commit
773 - - doc: describe Git bundle format
774 -
775 - Technical details of the bundle format has been documented.
776 -
777 - Will merge to 'next'.
778 - I think this is in a good enough shape.
779 -
780 -
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
@@ -795,35 +620,24 @@ of the repositories listed at
620 Will merge to 'master'.
621
622
798 -* pb/do-not-recurse-grep-no-index (2020-01-30) 1 commit
799 - (merged to 'next' on 2020-02-05 at 227bbe1e05)
800 - + grep: ignore --recurse-submodules if --no-index is given
801 -
802 - "git grep --no-index" should not get affected by the contents of
803 - the .gitmodules file but when "--recurse-submodules" is given or
804 - the "submodule.recurse" variable is set, it did. Now these
805 - settings are ignored in the "--no-index" mode.
806 -
807 - Will merge to 'master'.
808 -
809 -
623 * rs/name-rev-memsave (2020-02-05) 11 commits
811 - - name-rev: sort tip names before applying
812 - - name-rev: release unused name strings
813 - - name-rev: generate name strings only if they are better
814 - - name-rev: pre-size buffer in get_parent_name()
815 - - name-rev: factor out get_parent_name()
816 - - name-rev: put struct rev_name into commit slab
817 - - name-rev: don't _peek() in create_or_update_name()
818 - - name-rev: don't leak path copy in name_ref()
819 - - name-rev: respect const qualifier
820 - - name-rev: remove unused typedef
821 - - name-rev: rewrite create_or_update_name()
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()
636
637 Memory footprint and performance of "git name-rev" has been
638 improved.
639
826 - Will merge to 'next'.
640 + Will merge to 'master'.
641
642
643 * tb/commit-graph-object-dir (2020-02-04) 5 commits
@@ -842,7 +656,7 @@ of the repositories listed at
656 Will merge to 'master'.
657
658
845 -* tb/commit-graph-split-merge (2020-02-05) 3 commits
659 +* tb/commit-graph-split-merge (2020-02-12) 3 commits
660 - builtin/commit-graph.c: support '--input=none'
661 - builtin/commit-graph.c: introduce '--input=<source>'
662 - builtin/commit-graph.c: support '--split[=<strategy>]'
@@ -853,7 +667,7 @@ of the repositories listed at
667 or a single new incremental graph is created.
668
669 Waiting for the discussion to settle.
856 - cf. <20200206025130.GA22748@syl.local>
670 + cf. <20200212205028.GE4364@syl.local>
671
672
673 * ag/edit-todo-drop-check (2020-01-28) 2 commits
@@ -946,16 +760,6 @@ of the repositories listed at
760 Will merge to 'master'.
761
762
949 -* jn/pretend-object-doc (2020-01-06) 1 commit
950 - (merged to 'next' on 2020-02-05 at 1d52a5c72d)
951 - + sha1-file: document how to use pretend_object_file
952 -
953 - Warn programmers about pretend_object_file() that allows the code
954 - to tentatively use in-core objects.
955 -
956 - Will merge to 'master'.
957 -
958 -
763 * dl/merge-autostash (2020-01-13) 17 commits
764 - pull: pass --autostash to merge
765 - t5520: make test_pull_autostash() accept expect_parent_num
@@ -1090,3 +894,85 @@ of the repositories listed at
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>