What's cooking (2020/02 #02)

Junio C Hamano committed Feb 10, 2020 at 13:24 UTC 608c0780132f8595cdb3cb33cafd0a3b6c6b8b45
1 file changed +545 -640
whats-cooking.txt
+545 -640
@@ -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, #01; Wed, 5)
4 -X-master-at: 5b0ca878e008e82f91300091e793427205ce3544
5 -X-next-at: 125e21ebc739270a5a8f79e34da06ce072caa338
3 +Subject: What's cooking in git.git (Feb 2020, #02; Mon, 10)
4 +X-master-at: de93cc14ab7e8db7645d8dbe4fd2603f76d5851f
5 +X-next-at: 5c85173df499e49e5e4dc041fb5d5e4a8594563e
6
7 -What's cooking in git.git (Feb 2020, #01; Wed, 5)
7 +What's cooking in git.git (Feb 2020, #02; Mon, 10)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -20,276 +20,442 @@ of the repositories listed at
20 --------------------------------------------------
21 [Graduated to "master"]
22
23 -* am/test-pathspec-f-f-error-cases (2020-01-15) 1 commit
24 - (merged to 'next' on 2020-01-22 at cc526bc5ea)
25 - + t: add tests for error conditions with --pathspec-from-file
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
27 - More tests.
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
30 -* am/update-pathspec-f-f-tests (2020-01-15) 2 commits
31 - (merged to 'next' on 2020-01-22 at 5d050a14df)
32 - + t: directly test parse_pathspec_file()
33 - + t: fix quotes tests for --pathspec-from-file
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
35 - Test updates.
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
38 -* bc/actualmente (2020-01-21) 1 commit
39 - (merged to 'next' on 2020-01-22 at 6ce9cf0951)
40 - + docs: use "currently" for the present time
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
42 - Doc grammo fix.
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
45 -* bc/author-committer-doc (2020-01-22) 3 commits
46 - (merged to 'next' on 2020-01-22 at 61164cc62a)
47 - + doc: provide guidance on user.name format
48 - + docs: expand on possible and recommended user config options
49 - + doc: move author and committer information to git-commit(1)
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
51 - Clarify documentation on committer/author identities.
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
54 -* bc/misconception-doc (2020-01-22) 2 commits
55 - (merged to 'next' on 2020-01-22 at 6abc06b798)
56 - + docs: mention when increasing http.postBuffer is valuable
57 - + doc: dissuade users from trying to ignore tracked files
119 + The final leg of rewriting "add -i/-p" in C.
120
59 - Doc updates.
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
62 -* bc/run-command-nullness-after-free-fix (2020-01-07) 1 commit
63 - (merged to 'next' on 2020-01-15 at 56b3148fee)
64 - + run-command: avoid undefined behavior in exists_in_PATH
133 + The effort to move "git-add--interactive" to C continues.
134
66 - Originally merged to 'next' on 2020-01-09
135
68 - C pedantry ;-) fix.
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
71 -* dl/credential-netrc (2019-12-20) 2 commits
72 - (merged to 'next' on 2020-01-15 at 768fa1c364)
73 - + contrib/credential/netrc: work outside a repo
74 - + contrib/credential/netrc: make PERL_PATH configurable
142
76 - Originally merged to 'next' on 2019-12-25
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
147
78 - Sample credential helper for using .netrc has been updated to work
79 - out of the box.
148 + Doc update.
149
150
82 -* ds/graph-horizontal-edges (2020-01-15) 2 commits
83 - (merged to 'next' on 2020-01-22 at 4d94d5800f)
84 - + graph: fix collapse of multiple edges
85 - + graph: add test to demonstrate horizontal line bug
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
157
87 - Rendering by "git log --graph" of ancestry lines leading to a merge
88 - commit were made suboptimal to waste vertical space a bit with a
89 - recent update, which has been corrected.
158 + The "--recurse-submodules" option of various subcommands did not
159 + work well when run in an alternate worktree, which has been
160 + corrected.
161
162 +--------------------------------------------------
163 +[New Topics]
164
92 -* ds/refmap-doc (2020-01-21) 1 commit
93 - (merged to 'next' on 2020-01-22 at 51d81a499b)
94 - + fetch: document and test --refmap=""
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
171 +
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.
176 +
177 + At v5.
178 +
179 +
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.)
197 +
198 + The "bugreport" tool.
199 +
200 + at v6.
201 +
202 +
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
215 +
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.
219 +
220 + Breakage due to byte-order dependency reported.
221 +
222 +
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
245 +
246 + Preparation for SHA-256 migration continues.
247
96 - "git fetch --refmap=" option has got a better documentation.
248 + Will merge to 'next'.
249
250
99 -* ds/sparse-cone (2020-01-10) 1 commit
100 - (merged to 'next' on 2020-01-22 at bfca10dcd7)
101 - + unpack-trees: correctly compute result count
251 +* es/submodule-fetch-message-fix (2020-02-07) 1 commit
252 + - submodule: add newline on invalid submodule error
253
103 - The code recently added in this release to move to the entry beyond
104 - the ones in the same directory in the index in the sparse-cone mode
105 - did not count the number of entries to skip over incorrectly, which
106 - has been corrected.
254 + Error message fix.
255
256 + Will merge to 'next'.
257
109 -* en/simplify-check-updates-in-unpack-trees (2020-01-07) 1 commit
110 - (merged to 'next' on 2020-01-15 at 586c055b69)
111 - + unpack-trees: exit check_updates() early if updates are not wanted
258
113 - Originally merged to 'next' on 2020-01-09
259 +* ma/diff-doc-clarify-regexp-example (2020-02-09) 1 commit
260 + - diff-options.txt: avoid "regex" overload in example
261
115 - Code simplification.
262 + Doc clarification.
263
264 + Will merge to 'next'.
265
118 -* en/string-list-can-be-custom-sorted (2020-01-07) 1 commit
119 - (merged to 'next' on 2020-01-15 at 2afe9536e6)
120 - + string-list: note in docs that callers can specify sorting function
266
122 - Originally merged to 'next' on 2020-01-09
267 +* jb/multi-pack-index-docfix (2020-02-10) 1 commit
268 + - pack-format: correct multi-pack-index description
269
124 - API-doc update.
270 + Doc fix.
271
272 + Will merge to 'next'.
273
127 -* es/unpack-trees-oob-fix (2020-01-08) 1 commit
128 - (merged to 'next' on 2020-01-15 at 832ecf4366)
129 - + unpack-trees: watch for out-of-range index position
274
131 - Originally merged to 'next' on 2020-01-09
275 +* js/ci-squelch-doc-warning (2020-02-10) 1 commit
276 + - ci: ignore rubygems warning in the "Documentation" job
277
133 - The code that tries to skip over the entries for the paths in a
134 - single directory using the cache-tree was not careful enough
135 - against corrupt index file.
278 + Squelch unhelpful warning message during documentation build.
279
280 + Will merge to 'next'.
281
138 -* hi/gpg-mintrustlevel (2020-01-15) 1 commit
139 - (merged to 'next' on 2020-01-22 at af9f594eb7)
140 - + gpg-interface: add minTrustLevel as a configuration option
282
142 - gpg.minTrustLevel configuration variable has been introduced to
143 - tell various signature verification codepaths the required minimum
144 - trust level.
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
297
298 + Underlying machinery of "git bisect--helper" is being refactored
299 + into pieces that are more easily reused.
300
147 -* hi/indent-text-with-tabs-in-editorconfig (2020-01-06) 1 commit
148 - (merged to 'next' on 2020-01-22 at 3b567252eb)
149 - + editorconfig: indent text files with tabs
301
151 - Tell .editorconfig that in this project, *.txt files are indented
152 - with tabs.
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()
307
308 + Code clean-up.
309
155 -* hw/commit-advise-while-rejecting (2019-12-19) 1 commit
156 - (merged to 'next' on 2020-01-15 at 4f16e5a3b6)
157 - + commit: honor advice.statusHints when rejecting an empty commit
310 + Will merge to 'next'.
311
159 - Originally merged to 'next' on 2019-12-30
312
161 - "git commit" gives output similar to "git status" when there is
162 - nothing to commit, but without honoring the advise.statusHints
163 - configuration variable, which has been corrected.
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()
316
317 + Code clean-up.
318
166 -* hw/tutorial-favor-switch-over-checkout (2020-01-08) 1 commit
167 - (merged to 'next' on 2020-01-15 at 25e4fca9ec)
168 - + doc/gitcore-tutorial: fix prose to match example command
319 + Will merge to 'next'.
320
170 - Originally merged to 'next' on 2020-01-09
321 +--------------------------------------------------
322 +[Stalled]
323
172 - Complete an update to tutorial that encourages "git switch" over
173 - "git checkout" that was done only half-way.
324 +* jc/format-patch-delay-message-id (2019-04-05) 1 commit
325 + - format-patch: move message-id and related headers to the end
326
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>
331
176 -* jk/asan-build-fix (2020-01-16) 1 commit
177 - (merged to 'next' on 2020-01-22 at 0fc7123d8b)
178 - + Makefile: use compat regex with SANITIZE=address
332 + Waiting for feedback to see if it truly helps.
333 + Needs tests.
334
180 - Work around test breakages caused by custom regex engine used in
181 - libasan, when address sanitizer is used with more recent versions
182 - of gcc and clang.
335
336 +* pw/advise-rebase-skip (2019-12-06) 9 commits
337 + - rebase -i: leave CHERRY_PICK_HEAD when there are conflicts
338 + - rebase: fix advice when a fixup creates an empty commit
339 + - commit: give correct advice for empty commit during a rebase
340 + - commit: encapsulate determine_whence() for sequencer
341 + - commit: use enum value for multiple cherry-picks
342 + - sequencer: write CHERRY_PICK_HEAD for reword and edit
343 + - cherry-pick: check commit error messages
344 + - cherry-pick: add test for `--skip` advice in `git commit`
345 + - t3404: use test_cmp_rev
346
185 -* jk/no-flush-upon-disconnecting-slrpc-transport (2020-01-08) 1 commit
186 - (merged to 'next' on 2020-01-15 at 5014feacb0)
187 - + transport: don't flush when disconnecting stateless-rpc helper
347 + The mechanism to prevent "git commit" from making an empty commit
348 + or amending during an interrupted cherry-pick was broken during the
349 + rewrite of "git rebase" in C, which has been corrected.
350
189 - Originally merged to 'next' on 2020-01-09
351 + What's the status of this one?
352 + The tip two are still RFC.
353
191 - Reduce unnecessary round-trip when running "ls-remote" over the
192 - stateless RPC mechanism.
354
355 +* es/pathspec-f-f-grep (2020-01-13) 1 commit
356 + . grep: support the --pathspec-from-file option
357
195 -* jk/test-fixes (2020-01-16) 2 commits
196 - (merged to 'next' on 2020-01-22 at fb7dbf8b85)
197 - + t7800: don't rely on reuse_worktree_file()
198 - + t4018: drop "debugging" cat from hunk-header tests
358 + "git grep" learned the "--pathspec-from-file" command line
359 + option.
360
200 - Test fixes.
361 + Getting tired of waiting for review responses. Will discard.
362 + cf. <20191204203911.237056-1-emilyshaffer@google.com>
363
364
203 -* jn/test-lint-one-shot-export-to-shell-function (2020-01-15) 3 commits
204 - (merged to 'next' on 2020-01-22 at 03cfc1ea0d)
205 - + fetch test: mark test of "skipping" haves as v0-only
206 - + t/check-non-portable-shell: detect "FOO= shell_func", too
207 - + fetch test: avoid use of "VAR= cmd" with a shell function
208 - (this branch is used by jn/promote-proto2-to-default.)
365 +* at/rebase-fork-point-regression-fix (2019-12-09) 1 commit
366 + - rebase: fix --fork-point with short refname
367
210 - The test-lint machinery knew to check "VAR=VAL shell_function"
211 - construct, but did not check "VAR= shell_funciton", which has been
212 - corrected.
368 + The "--fork-point" mode of "git rebase" regressed when the command
369 + was rewritten in C back in 2.20 era, which has been corrected.
370
371 + Was waiting for discussion to settle.
372 + cf. <CAPig+cQ-3Ds41hr91fRo_GvuFMTP7zNVJtaSqi-Yccq4Pk-8Qg@mail.gmail.com>
373
215 -* js/builtin-add-i-cmds (2020-01-16) 2 commits
216 - (merged to 'next' on 2020-01-22 at 3cf944ae32)
217 - + built-in add -i: accept open-ended ranges again
218 - + built-in add -i: do not try to `patch`/`diff` an empty list of files
374
220 - Minor bugfixes to "git add -i" that has recently been rewritten in C.
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
384
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.
391
223 -* jt/sha1-file-remove-oi-skip-cached (2020-01-02) 1 commit
224 - (merged to 'next' on 2020-01-15 at 4feaff54f3)
225 - + sha1-file: remove OBJECT_INFO_SKIP_CACHED
392 + Retracted for now.
393 + cf. <CAN0heSpxhoAqSvN_TJHPntSagx3oA4s7iUebHcsYML8NSYwfUA@mail.gmail.com>
394
227 - Originally merged to 'next' on 2020-01-04
395
229 - has_object_file() said "no" given an object registered to the
230 - system via pretend_object_file(), making it inconsistent with
231 - read_object_file(), causing lazy fetch to attempt fetching an
232 - empty tree from promisor remotes.
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
405
406 + Updates around testing fsmoitor integration.
407 + cf. <pull.466.v2.git.1575907804.gitgitgadget@gmail.com>
408
235 -* lh/bool-to-type-bool (2020-01-21) 1 commit
236 - (merged to 'next' on 2020-01-22 at 3c140f479f)
237 - + templates: fix deprecated type option `--bool`
409
239 - Replace "git config --bool" calls with "git config --type=bool" in
240 - sample templates.
410 +* vn/reset-deleted-ita (2019-07-26) 1 commit
411 + - reset: unstage empty deleted ita files
412
413 + "git reset HEAD [<pathspec>]" did not reset an empty file that was
414 + added with the intent-to-add bit.
415
243 -* nd/switch-and-restore (2020-01-08) 1 commit
244 - (merged to 'next' on 2020-01-15 at ffd0b1e54e)
245 - + restore: invalidate cache-tree when removing entries with --staged
416 + Expecting a reroll.
417
247 - Originally merged to 'next' on 2020-01-09
418
249 - "git restore --staged" did not correctly update the cache-tree
250 - structure, resulting in bogus trees to be written afterwards, which
251 - has been corrected.
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
422
423 + A bit too alarming warning given when unknown index extensions
424 + exist is getting revamped.
425
254 -* rt/submodule-i18n (2020-01-16) 1 commit
255 - (merged to 'next' on 2020-01-22 at 6b6a52dbe3)
256 - + submodule.c: mark more strings for translation
426 + Getting tired of waiting for a reroll. Will discard.
427
258 - Comments update.
428
429 +* js/protocol-advertise-multi (2018-12-28) 1 commit
430 + . protocol: advertise multiple supported versions
431
261 -* sg/completion-worktree (2020-01-15) 6 commits
262 - (merged to 'next' on 2020-01-22 at 9d18889fea)
263 - + completion: list paths and refs for 'git worktree add'
264 - + completion: list existing working trees for 'git worktree' subcommands
265 - + completion: simplify completing 'git worktree' subcommands and options
266 - + completion: return the index of found word from __git_find_on_cmdline()
267 - + completion: clean up the __git_find_on_cmdline() helper function
268 - + t9902-completion: add tests for the __git_find_on_cmdline() helper
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.
436
270 - The command line completion (in contrib/) learned to complete
271 - subcommands and arguments to "git worktree".
437 + Getting tired of waiting for a reroll. Will discard.
438 + cf. <CANq=j3u-zdb_FvNJGPCmygNMScseav63GhVvBX3NcVS4f7TejA@mail.gmail.com>
439
440
274 -* ss/t6025-modernize (2020-01-21) 2 commits
275 - (merged to 'next' on 2020-01-22 at 00ed0a98ee)
276 - + t6025: use helpers to replace test -f <path>
277 - + t6025: modernize style
441 +* mk/use-size-t-in-zlib (2018-10-15) 1 commit
442 + - zlib.c: use size_t for size
443
279 - Test style updates.
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".
447
448 --------------------------------------------------
282 -[New Topics]
449 +[Cooking]
450
284 -* bw/remote-rename-update-config (2020-01-28) 7 commits
285 - - SQUASH??? test_config cannot be used inside a subshell
451 +* bw/remote-rename-update-config (2020-02-10) 6 commits
452 - remote rename/remove: gently handle remote.pushDefault config
453 - config: provide access to the current line number
454 - remote rename/remove: handle branch.<name>.pushRemote config values
455 - remote: clean-up config callback
456 - remote: clean-up by returning early to avoid one indentation
457 - pull --rebase/remote rename: document and honor single-letter abbreviations rebase types
292 - (this branch uses mr/show-config-scope.)
458 + (this branch uses mr/show-config-scope; is tangled with es/bugreport.)
459
460 "git remote rename X Y" needs to adjust configuration variables
461 (e.g. branch.<name>.remote) whose value used to be X to Y.
@@ -311,105 +477,102 @@ of the repositories listed at
477 cf. <xmqqo8ut3hsu.fsf@gitster-ct.c.googlers.com>
478
479
314 -* mt/sparse-checkout-doc-update (2020-01-23) 2 commits
315 - (merged to 'next' on 2020-01-27 at dbd5a83613)
316 - + completion: add support for sparse-checkout
317 - + doc: sparse-checkout: mention --cone option
318 -
319 - Doc update.
320 -
321 - Will merge to 'master'.
322 -
323 -
480 * pk/status-of-uncloned-submodule (2020-02-04) 3 commits
325 - - t7400: testcase for submodule status on unregistered inner git repos
326 - - submodule: fix status of initialized but not cloned submodules
327 - - t7400: add a testcase for submodule status on empty dirs
481 + (merged to 'next' on 2020-02-07 at f6349f5f5f)
482 + + t7400: testcase for submodule status on unregistered inner git repos
483 + + submodule: fix status of initialized but not cloned submodules
484 + + t7400: add a testcase for submodule status on empty dirs
485
486 The way "git submodule status" reports an initialized but not yet
487 populated submodule has not been reimplemented correctly when a
488 part of the "git submodule" command was rewritten in C, which has
489 been corrected.
490
334 - Will merge to 'next'.
491 + Will merge to 'master'.
492
493
494 * ag/rebase-avoid-unneeded-checkout (2020-01-24) 1 commit
338 - - rebase -i: stop checking out the tip of the branch to rebase
495 + (merged to 'next' on 2020-02-07 at b08da07534)
496 + + rebase -i: stop checking out the tip of the branch to rebase
497
498 "git rebase -i" (and friends) used to unnecessarily check out the
499 tip of the branch to be rebased, which has been corrected.
500
343 - Will merge to 'next'.
501 + Will merge to 'master'.
502
503
504 * ds/sparse-checkout-harden (2020-01-31) 15 commits
347 - - sparse-checkout: fix cone mode behavior mismatch
348 - - sparse-checkout: improve docs around 'set' in cone mode
349 - - sparse-checkout: escape all glob characters on write
350 - - sparse-checkout: use C-style quotes in 'list' subcommand
351 - - sparse-checkout: unquote C-style strings over --stdin
352 - - sparse-checkout: write escaped patterns in cone mode
353 - - sparse-checkout: properly match escaped characters
354 - - sparse-checkout: warn on globs in cone patterns
355 - - sparse-checkout: detect short patterns
356 - - sparse-checkout: cone mode does not recognize "**"
357 - - sparse-checkout: fix documentation typo for core.sparseCheckoutCone
358 - - clone: fix --sparse option with URLs
359 - - sparse-checkout: create leading directories
360 - - t1091: improve here-docs
361 - - t1091: use check_files to reduce boilerplate
505 + (merged to 'next' on 2020-02-07 at 56c09b944f)
506 + + sparse-checkout: fix cone mode behavior mismatch
507 + + sparse-checkout: improve docs around 'set' in cone mode
508 + + sparse-checkout: escape all glob characters on write
509 + + sparse-checkout: use C-style quotes in 'list' subcommand
510 + + sparse-checkout: unquote C-style strings over --stdin
511 + + sparse-checkout: write escaped patterns in cone mode
512 + + sparse-checkout: properly match escaped characters
513 + + sparse-checkout: warn on globs in cone patterns
514 + + sparse-checkout: detect short patterns
515 + + sparse-checkout: cone mode does not recognize "**"
516 + + sparse-checkout: fix documentation typo for core.sparseCheckoutCone
517 + + clone: fix --sparse option with URLs
518 + + sparse-checkout: create leading directories
519 + + t1091: improve here-docs
520 + + t1091: use check_files to reduce boilerplate
521
522 Some rough edges in the sparse-checkout feature, especially around
523 the cone mode, have been cleaned up.
524
366 - Will merge to 'next'.
525 + Will merge to 'master'.
526
527
528 * es/doc-mentoring (2020-01-24) 1 commit
370 - - MyFirstContribution: add avenues for getting help
529 + (merged to 'next' on 2020-02-05 at 3b05aabbcd)
530 + + MyFirstContribution: add avenues for getting help
531
532 Doc for new contributors.
533
374 - Will merge to 'next'.
534 + Waiting for the discussion to settle.
535 + cf. <20200206010704.GN10482@szeder.dev>
536
537
377 -* mr/show-config-scope (2020-01-28) 6 commits
538 +* 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
384 - (this branch is used by bw/remote-rename-update-config.)
549 + (this branch is used by bw/remote-rename-update-config and es/bugreport.)
550
551 "git config" learned to show in which "scope", in addition to in
552 which file, each config setting comes from.
553
389 - Expecting a (hopefully final) reroll.
390 - cf. <CAOjrSZtx+Qr4HsaptaxseTa_8oCwRyVE+Jf95_z51fGmXBjsTQ@mail.gmail.com>
554 + Will merge to 'next'.
555
556
393 -* bk/p4-pre-edit-changelist (2020-02-04) 4 commits
557 +* bk/p4-pre-edit-changelist (2020-02-06) 5 commits
558 - git-p4: add p4 submit hooks
395 - - git-p4: add hook p4-pre-edit-changelist
396 - - git-p4: create new method gitRunHook
559 + - git-p4: restructure code in submit
560 + - git-p4: add --no-verify option
561 + - git-p4: create new function run_git_hook
562 - git-p4: rewrite prompt to be Windows compatible
563
564 "git p4" learned four new hooks and also "--no-verify" option to
565 bypass them (and the existing "p4-pre-submit" hook).
566
402 - May want to be split better, but the endgame seemed sensible.
403 - cf. <xmqqmu9y6pr4.fsf@gitster-ct.c.googlers.com>
404 -
567
568 * dt/submodule-rm-with-stale-cache (2020-01-28) 1 commit
407 - - git rm submodule: succeed if .gitmodules index stat info is zero
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
412 - Will merge to 'next'.
575 + Will merge to 'master'.
576
577
578 * en/fill-directory-exponential (2020-01-31) 6 commits
@@ -419,7 +582,6 @@ of the repositories listed at
582 - dir: fix confusion based on variable tense
583 - dir: fix broken comment
584 - dir: consolidate treat_path() and treat_one_path()
422 - (this branch uses en/fill-directory-fixes-more.)
585
586 The directory traversal code had redundant recursive calls which
587 made its performance characteristics exponential wrt the depth of
@@ -427,10 +589,12 @@ of the repositories listed at
589
590 Still RFC?
591 cf. <pull.700.v2.git.git.1580495486.gitgitgadget@gmail.com>
592 + cf. <CABPp-BF0SO92wxY-dM14Vxv6BGA5=T=CicdwbiaZ7c9w6-j2jQ@mail.gmail.com>
593
594
595 * hw/doc-git-dir (2020-01-30) 1 commit
433 - - git: update documentation for --git-dir
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"
@@ -438,7 +602,7 @@ of the repositories listed at
602 placed a bit more stress in the documentation, as new users often
603 get confused.
604
441 - Will merge to 'next'.
605 + Will merge to 'master'.
606
607
608 * jb/parse-options-message-fix (2020-02-05) 1 commit
@@ -446,186 +610,201 @@ of the repositories listed at
610
611 Error message fix.
612
449 - Waiting for a response
450 - cf. <xmqqv9ok6fa1.fsf@gitster-ct.c.googlers.com>
613 + Will merge to 'next'.
614
615
616 * jc/skip-prefix (2020-01-31) 1 commit
454 - - C: use skip_prefix() to avoid hardcoded string length
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
458 - Will merge to 'next'.
622 + Will merge to 'master'.
623
624
625 * jh/notes-fanout-fix (2020-02-04) 2 commits
462 - - notes.c: fix off-by-one error when decreasing notes fanout
463 - - t3305: check notes fanout more carefully and robustly
626 + (merged to 'next' on 2020-02-07 at a4ec94aee0)
627 + + notes.c: fix off-by-one error when decreasing notes fanout
628 + + t3305: check notes fanout more carefully and robustly
629
630 The code to automatically shrink the fan-out in the notes tree had
631 an off-by-one bug, which has been killed.
632
468 - Will merge to 'next'.
633 + Will merge to 'master'.
634
635
636 * jk/alloc-cleanups (2020-02-04) 4 commits
472 - - tree-walk.c: break circular dependency with unpack-trees
473 - - traverse_trees(): use stack array for name entries
474 - - walker_fetch(): avoid raw array length computation
475 - - normalize_path_copy(): document "dst" size expectations
637 + (merged to 'next' on 2020-02-07 at f259621312)
638 + + tree-walk.c: break circular dependency with unpack-trees
639 + + traverse_trees(): use stack array for name entries
640 + + walker_fetch(): avoid raw array length computation
641 + + normalize_path_copy(): document "dst" size expectations
642
643 Misc code clean-ups.
644
479 - Will merge to 'next'.
645 + Will merge to 'master'.
646
647
648 * jk/clang-sanitizer-fixes (2020-01-28) 5 commits
483 - - obstack: avoid computing offsets from NULL pointer
484 - - xdiff: avoid computing non-zero offset from NULL pointer
485 - - avoid computing zero offsets from NULL pointer
486 - - merge-recursive: use subtraction to flip stage
487 - - merge-recursive: silence -Wxor-used-as-pow warning
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
491 - Will merge to 'next'.
658 + Will merge to 'master'.
659
660
661 * jk/diff-honor-wserrhighlight-in-plumbing (2020-01-31) 1 commit
495 - - diff: move diff.wsErrorHighlight to "basic" config
662 + (merged to 'next' on 2020-02-07 at acb077fdcb)
663 + + diff: move diff.wsErrorHighlight to "basic" config
664
665 The diff-* plumbing family of subcommands now pay attention to the
666 diff.wsErrorHighlight configuration, which has been ignored before;
667 this allows "git add -p" to also show the whitespace problems to
668 the end user.
669
502 - Will merge to 'next'.
670 + Will merge to 'master'.
671
672
673 * jk/escaped-wildcard-dwim (2020-01-27) 1 commit
506 - - verify_filename(): handle backslashes in "wildcards are pathspecs" rule
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
512 - Will merge to 'next'.
681 + Will merge to 'master'.
682
683
684 * jk/get-oid-error-message-i18n (2020-01-30) 3 commits
516 - - sha1-name: mark get_oid() error messages for translation
517 - - t1506: drop space after redirection operator
518 - - t1400: avoid "test" string comparisons
685 + (merged to 'next' on 2020-02-07 at 6bfe9235e5)
686 + + sha1-name: mark get_oid() error messages for translation
687 + + t1506: drop space after redirection operator
688 + + t1400: avoid "test" string comparisons
689
690 A low-level API function get_oid(), that accepts various ways to
691 name an object, used to issue end-user facing error messages
692 without l10n, which has been updated to be translatable.
693
524 - Will merge to 'next'.
694 + Will merge to 'master'.
695
696
697 * jk/index-pack-dupfix (2020-02-04) 1 commit
528 - - index-pack: downgrade twice-resolved REF_DELTA to die()
698 + (merged to 'next' on 2020-02-07 at e6d79d432b)
699 + + index-pack: downgrade twice-resolved REF_DELTA to die()
700
701 The index-pack code now diagnoses a bad input packstream that
702 records the same object twice when it is used as delta base; the
703 code used to declare a software bug when encountering such an
704 input, but it is an input error.
705
535 - Will merge to 'next'.
706 + Will merge to 'master'.
707
708
709 * jk/push-default-doc (2020-01-29) 1 commit
539 - - doc: drop "explicitly given" from push.default description
710 + (merged to 'next' on 2020-02-05 at 33167357a1)
711 + + doc: drop "explicitly given" from push.default description
712
713 Doc update.
714
543 - Will merge to 'next'.
715 + Will merge to 'master'.
716
717
718 * jt/connectivity-check-optim-in-partial-clone (2020-01-30) 2 commits
547 - - fetch: forgo full connectivity check if --filter
548 - - connected: verify promisor-ness of partial clone
719 + (merged to 'next' on 2020-02-07 at ca5102fa58)
720 + + fetch: forgo full connectivity check if --filter
721 + + connected: verify promisor-ness of partial clone
722
723 Unneeded connectivity check is now disabled in a partial clone when
724 fetching into it.
725
553 - Will merge to 'next'.
726 + Will merge to 'master'.
727
728
729 * jt/t5616-robustify (2020-01-27) 1 commit
557 - - t5616: make robust to delta base change
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
562 - Will merge to 'next'.
736 + Will merge to 'master'.
737
738
739 * km/submodule-doc-use-sm-path (2020-01-31) 1 commit
566 - - submodule foreach: replace $path with $sm_path in example
740 + (merged to 'next' on 2020-02-05 at a73aa350b5)
741 + + submodule foreach: replace $path with $sm_path in example
742
743 Docfix.
744
570 - Will merge to 'next'.
745 + Will merge to 'master'.
746
747
748 * ld/p4-cleanup-processes (2020-01-30) 7 commits
574 - - git-p4: avoid leak of file handle when cloning
575 - - git-p4: check for access to remote host earlier
576 - - git-p4: cleanup better on error exit
577 - - git-p4: create helper function importRevisions()
578 - - git-p4: disable some pylint warnings, to get pylint output to something manageable
579 - - git-p4: add P4CommandException to report errors talking to Perforce
580 - - git-p4: make closeStreams() idempotent
749 + (merged to 'next' on 2020-02-07 at e8c573f01c)
750 + + git-p4: avoid leak of file handle when cloning
751 + + git-p4: check for access to remote host earlier
752 + + git-p4: cleanup better on error exit
753 + + git-p4: create helper function importRevisions()
754 + + git-p4: disable some pylint warnings, to get pylint output to something manageable
755 + + git-p4: add P4CommandException to report errors talking to Perforce
756 + + git-p4: make closeStreams() idempotent
757
758 p4 updates.
759
584 - Will merge to 'next'.
760 + Will merge to 'master'.
761
762
763 * ma/filter-branch-doc-caret (2020-02-04) 1 commit
588 - - git-filter-branch.txt: wrap "maths" notation in backticks
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
592 - Will merge to 'next'.
769 + Will merge to 'master'.
770
771
595 -* ms/doc-bundle-format (2020-02-04) 1 commit
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
600 - Will merge to 'next'?
601 - cf. <xmqqtv4b8bus.fsf@gitster-ct.c.googlers.com>
777 + Will merge to 'next'.
778 + I think this is in a good enough shape.
779
780
781 * mt/use-passed-repo-more-in-funcs (2020-01-31) 7 commits
605 - - sha1-file: allow check_object_signature() to handle any repo
606 - - sha1-file: pass git_hash_algo to hash_object_file()
607 - - sha1-file: pass git_hash_algo to write_object_file_prepare()
608 - - streaming: allow open_istream() to handle any repo
609 - - pack-check: use given repo's hash_algo at verify_packfile()
610 - - cache-tree: use given repo's hash_algo at verify_one()
611 - - diff: make diff_populate_filespec() honor its repo argument
782 + (merged to 'next' on 2020-02-07 at 536709ab4b)
783 + + sha1-file: allow check_object_signature() to handle any repo
784 + + sha1-file: pass git_hash_algo to hash_object_file()
785 + + sha1-file: pass git_hash_algo to write_object_file_prepare()
786 + + streaming: allow open_istream() to handle any repo
787 + + pack-check: use given repo's hash_algo at verify_packfile()
788 + + cache-tree: use given repo's hash_algo at verify_one()
789 + + diff: make diff_populate_filespec() honor its repo argument
790
791 Some codepaths were given a repository instance as a parameter to
792 work in the repository, but passed the_repository instance to its
793 callees, which has been cleaned up (somewhat).
794
617 - Will merge to 'next'.
795 + Will merge to 'master'.
796
797
798 * pb/do-not-recurse-grep-no-index (2020-01-30) 1 commit
621 - - grep: ignore --recurse-submodules if --no-index is given
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
628 - Will merge to 'next'.
807 + Will merge to 'master'.
808
809
810 * rs/name-rev-memsave (2020-02-05) 11 commits
@@ -644,20 +823,23 @@ of the repositories listed at
823 Memory footprint and performance of "git name-rev" has been
824 improved.
825
826 + Will merge to 'next'.
827 +
828
829 * tb/commit-graph-object-dir (2020-02-04) 5 commits
649 - - commit-graph.h: use odb in 'load_commit_graph_one_fd_st'
650 - - commit-graph.c: remove path normalization, comparison
651 - - commit-graph.h: store object directory in 'struct commit_graph'
652 - - commit-graph.h: store an odb in 'struct write_commit_graph_context'
653 - - t5318: don't pass non-object directory to '--object-dir'
830 + (merged to 'next' on 2020-02-07 at 5c85173df4)
831 + + commit-graph.h: use odb in 'load_commit_graph_one_fd_st'
832 + + commit-graph.c: remove path normalization, comparison
833 + + commit-graph.h: store object directory in 'struct commit_graph'
834 + + commit-graph.h: store an odb in 'struct write_commit_graph_context'
835 + + t5318: don't pass non-object directory to '--object-dir'
836 (this branch is used by tb/commit-graph-split-merge.)
837
838 The code to compute the commit-graph has been taught to use a more
839 robust way to tell if two object directories refer to the same
840 thing.
841
660 - Will merge to 'next'.
842 + Will merge to 'master'.
843
844
845 * tb/commit-graph-split-merge (2020-02-05) 3 commits
@@ -670,225 +852,48 @@ of the repositories listed at
852 options to control if the resulting graph chains should be merged
853 or a single new incremental graph is created.
854
673 - Will merge to 'next'?
674 -
675 -
676 ---------------------------------------------------
677 -[Stalled]
678 -
679 -* jc/format-patch-delay-message-id (2019-04-05) 1 commit
680 - - format-patch: move message-id and related headers to the end
681 -
682 - The location "git format-patch --thread" adds the Message-Id:
683 - header in the series of header fields has been moved down, which
684 - may help working around a suspected bug in GMail MSA, reported at
685 - <CAHk-=whP1stFZNAaJiMi5eZ9rj0MRt20Y_yHVczZPH+O01d+sA@mail.gmail.com>
686 -
687 - Waiting for feedback to see if it truly helps.
688 - Needs tests.
689 -
690 -
691 -* pw/advise-rebase-skip (2019-12-06) 9 commits
692 - - rebase -i: leave CHERRY_PICK_HEAD when there are conflicts
693 - - rebase: fix advice when a fixup creates an empty commit
694 - - commit: give correct advice for empty commit during a rebase
695 - - commit: encapsulate determine_whence() for sequencer
696 - - commit: use enum value for multiple cherry-picks
697 - - sequencer: write CHERRY_PICK_HEAD for reword and edit
698 - - cherry-pick: check commit error messages
699 - - cherry-pick: add test for `--skip` advice in `git commit`
700 - - t3404: use test_cmp_rev
701 -
702 - The mechanism to prevent "git commit" from making an empty commit
703 - or amending during an interrupted cherry-pick was broken during the
704 - rewrite of "git rebase" in C, which has been corrected.
705 -
706 - What's the status of this one?
707 - The tip two are still RFC.
708 -
709 -
710 -* es/pathspec-f-f-grep (2020-01-13) 1 commit
711 - . grep: support the --pathspec-from-file option
712 -
713 - "git grep" learned the "--pathspec-from-file" command line
714 - option.
715 -
716 - Getting tired of waiting for review responses. Will discard.
717 - cf. <20191204203911.237056-1-emilyshaffer@google.com>
718 -
719 -
720 -* at/rebase-fork-point-regression-fix (2019-12-09) 1 commit
721 - - rebase: fix --fork-point with short refname
722 -
723 - The "--fork-point" mode of "git rebase" regressed when the command
724 - was rewritten in C back in 2.20 era, which has been corrected.
725 -
726 - Was waiting for discussion to settle.
727 - cf. <CAPig+cQ-3Ds41hr91fRo_GvuFMTP7zNVJtaSqi-Yccq4Pk-8Qg@mail.gmail.com>
728 -
729 -
730 -* ma/config-bool-valex (2019-11-14) 8 commits
731 - - builtin/config: die if "value_regex" doesn't canonicalize as boolean
732 - - builtin/config: warn if "value_regex" doesn't canonicalize as boolean
733 - - builtin/config: canonicalize "value_regex" with `--type=bool-or-int`
734 - - builtin/config: canonicalize "value_regex" with `--type=bool`
735 - - builtin/config: collect "value_regexp" data in a struct
736 - - builtin/config: extract `handle_value_regex()` from `get_value()`
737 - - t1300: modernize part of script
738 - - config: make `git_parse_maybe_bool_text()` public
739 -
740 - "git config" can be told to affect the existing entries that
741 - "match" the given value via its value_regex argument. It learned
742 - to normalize the value set in the configuration and the value given
743 - from the command line before computing they "match", e.g. "true" in
744 - the configuration file can now match with "yes" given from the
745 - command line.
746 -
747 - Needs a bit more work?
748 - cf. <CAN0heSrtwi9V607vBX9PMSfNLQ8iGcno6_iGuR4Fs8ndGxqh8A@mail.gmail.com>
749 -
750 -
751 -* ds/fsmonitor-testing (2019-12-09) 8 commits
752 - - test-lib: clear watchman watches at test completion
753 - - t7519: disable external GIT_TEST_FSMONITOR variable
754 - - t7063: disable fsmonitor with status cache
755 - - tests: disable fsmonitor in submodule tests
756 - - t3030-merge-recursive.sh: disable fsmonitor when tweaking GIT_WORK_TREE
757 - - t1301-shared-repo.sh: disable FSMONITOR
758 - - fsmonitor: do not output to stderr for tests
759 - - fsmonitor: disable in a bare repo
760 -
761 - Updates around testing fsmoitor integration.
762 -
763 - cf. <pull.466.v2.git.1575907804.gitgitgadget@gmail.com>
764 -
765 -
766 -* vn/reset-deleted-ita (2019-07-26) 1 commit
767 - - reset: unstage empty deleted ita files
768 -
769 - "git reset HEAD [<pathspec>]" did not reset an empty file that was
770 - added with the intent-to-add bit.
771 -
772 - Expecting a reroll.
773 -
774 -
775 -* jn/unknown-index-extensions (2018-11-21) 2 commits
776 - . index: offer advice for unknown index extensions
777 - . index: do not warn about unrecognized extensions
778 -
779 - A bit too alarming warning given when unknown index extensions
780 - exist is getting revamped.
781 -
782 - Getting tired of waiting for a reroll. Will discard.
783 -
784 -
785 -* js/protocol-advertise-multi (2018-12-28) 1 commit
786 - . protocol: advertise multiple supported versions
855 + Waiting for the discussion to settle.
856 + cf. <20200206025130.GA22748@syl.local>
857
788 - The transport layer has been updated so that the protocol version
789 - used can be negotiated between the parties, by the initiator
790 - listing the protocol versions it is willing to talk, and the other
791 - side choosing from one of them.
792 -
793 - Getting tired of waiting for a reroll. Will discard.
794 - cf. <CANq=j3u-zdb_FvNJGPCmygNMScseav63GhVvBX3NcVS4f7TejA@mail.gmail.com>
795 -
796 -
797 -* mk/use-size-t-in-zlib (2018-10-15) 1 commit
798 - - zlib.c: use size_t for size
799 -
800 - The wrapper to call into zlib followed our long tradition to use
801 - "unsigned long" for sizes of regions in memory, which have been
802 - updated to use "size_t".
803 -
804 ---------------------------------------------------
805 -[Cooking]
858
859 * ag/edit-todo-drop-check (2020-01-28) 2 commits
808 - - rebase-interactive: warn if commit is dropped with `rebase --edit-todo'
809 - - sequencer: move check_todo_list_from_file() to rebase-interactive.c
860 + (merged to 'next' on 2020-02-07 at 687c82cd3a)
861 + + rebase-interactive: warn if commit is dropped with `rebase --edit-todo'
862 + + sequencer: move check_todo_list_from_file() to rebase-interactive.c
863 (this branch uses js/rebase-i-with-colliding-hash.)
864
865 Allow the rebase.missingCommitsCheck configuration to kick in when
866 "rebase --edit-todo" and "rebase --continue" restarts the procedure.
867
815 - Will merge to 'next'.
816 -
817 -
818 -* am/checkout-file-and-ref-ref-ambiguity (2020-01-07) 2 commits
819 - (merged to 'next' on 2020-01-27 at daf1dadc78)
820 - + checkout: don't revert file on ambiguous tracking branches
821 - + parse_branchname_arg(): extract part as new function
822 -
823 - "git checkout X" did not correctly fail when X is not a local
824 - branch but could name more than one remote-tracking branches
825 - (i.e. to be dwimmed as the starting point to create a corresponding
826 - local branch), which has been corrected.
827 -
868 Will merge to 'master'.
869
870
871 * kw/fsmonitor-watchman-racefix (2020-01-23) 4 commits
832 - - fsmonitor: update documentation for hook version and watchman hooks
833 - - fsmonitor: add fsmonitor hook scripts for version 2
834 - - fsmonitor: handle version 2 of the hooks that will use opaque token
835 - - fsmonitor: change last update timestamp on the index_state to opaque token
872 + (merged to 'next' on 2020-02-07 at 3c42195a34)
873 + + fsmonitor: update documentation for hook version and watchman hooks
874 + + fsmonitor: add fsmonitor hook scripts for version 2
875 + + fsmonitor: handle version 2 of the hooks that will use opaque token
876 + + fsmonitor: change last update timestamp on the index_state to opaque token
877
878 A new version of fsmonitor-watchman hook has been introduced, to
879 avoid races.
880
840 - Will merge to 'next'.
881 + Will merge to 'master'.
882
883
843 -* hw/advice-add-nothing (2020-01-15) 1 commit
884 +* hw/advice-add-nothing (2020-02-06) 2 commits
885 + (merged to 'next' on 2020-02-07 at 3c2a5c1868)
886 + + add: change advice config variables used by the add API
887 (merged to 'next' on 2020-01-22 at 3fe4494fa6)
888 + add: use advise function to display hints
889
890 Two help messages given when "git add" notices the user gave it
891 nothing to add have been updated to use advise() API.
892
850 - Expecting a follow-up
851 - to perform <pull.508.v3.git.1580346702203.gitgitgadget@gmail.com>
852 - incrementally.
853 -
854 -
855 -* km/submodule-add-errmsg (2020-01-15) 1 commit
856 - (merged to 'next' on 2020-01-27 at 0ff8378907)
857 - + submodule add: show 'add --dry-run' stderr when aborting
858 -
859 - Improve error message generation for "git submodule add".
860 -
861 - Will merge to 'master'.
862 -
863 -
864 -* en/fill-directory-fixes-more (2020-01-16) 4 commits
865 - (merged to 'next' on 2020-01-27 at 9a27e1495b)
866 - + dir: point treat_leading_path() warning to the right place
867 - + dir: restructure in a way to avoid passing around a struct dirent
868 - + dir: treat_leading_path() and read_directory_recursive(), round 2
869 - + clean: demonstrate a bug with pathspecs
870 - (this branch is used by en/fill-directory-exponential.)
871 -
872 - Corner case bugs in "git clean" that stems from a (necessarily for
873 - performance reasons) awkward calling convention in the directory
874 - enumeration API has been corrected.
875 -
876 - Will merge to 'master'.
877 -
878 -
879 -* es/fetch-show-failed-submodules-atend (2020-01-17) 1 commit
880 - (merged to 'next' on 2020-01-27 at 7b41163881)
881 - + fetch: emphasize failure during submodule fetch
882 -
883 - A fetch that is told to recursively fetch updates in submodules
884 - inevitably produces reams of output, and it becomes hard to spot
885 - error messages. The command has been taught to enumerate
886 - submodules that had errors at the end of the operation.
887 -
893 Will merge to 'master'.
894
895
891 -* am/pathspec-f-f-more (2020-01-21) 8 commits
896 +* am/pathspec-f-f-more (2020-02-10) 8 commits
897 - stash push: support the --pathspec-from-file option
898 - stash: eliminate crude option parsing
899 - doc: stash: synchronize <pathspec> description
@@ -901,15 +906,12 @@ of the repositories listed at
906 "git rm" and "git stash" learns the new "--pathspec-from-file"
907 option.
908
904 - Waiting for review response.
905 - cf. <xmqqftg8a9fp.fsf@gitster-ct.c.googlers.com>
906 - cf. <xmqqblqwa7d3.fsf@gitster-ct.c.googlers.com>
907 -
909
910 * js/rebase-i-with-colliding-hash (2020-01-23) 3 commits
910 - - rebase -i: also avoid SHA-1 collisions with missingCommitsCheck
911 - - rebase -i: re-fix short SHA-1 collision
912 - - parse_insn_line(): improve error message when parsing failed
911 + (merged to 'next' on 2020-02-07 at 670ba07c4d)
912 + + rebase -i: also avoid SHA-1 collisions with missingCommitsCheck
913 + + rebase -i: re-fix short SHA-1 collision
914 + + parse_insn_line(): improve error message when parsing failed
915 (this branch is used by ag/edit-todo-drop-check.)
916
917 "git rebase -i" identifies existing commits in its todo file with
@@ -919,52 +921,39 @@ of the repositories listed at
921 not covered by the protection against ambiguity, which has been
922 corrected.
923
922 - Will merge to 'next'.
923 -
924 -
925 -* pb/recurse-submodule-in-worktree-fix (2020-01-22) 4 commits
926 - (merged to 'next' on 2020-01-27 at e4cb1e376a)
927 - + submodule.c: use get_git_dir() instead of get_git_common_dir()
928 - + t2405: clarify test descriptions and simplify test
929 - + t2405: use git -C and test_commit -C instead of subshells
930 - + t7410: rename to t2405-worktree-submodule.sh
931 -
932 - The "--recurse-submodules" option of various subcommands did not
933 - work well when run in an alternate worktree, which has been
934 - corrected.
935 -
924 Will merge to 'master'.
925
926
927 * mt/threaded-grep-in-object-store (2020-01-17) 12 commits
940 - - grep: use no. of cores as the default no. of threads
941 - - grep: move driver pre-load out of critical section
942 - - grep: re-enable threads in non-worktree case
943 - - grep: protect packed_git [re-]initialization
944 - - grep: allow submodule functions to run in parallel
945 - - submodule-config: add skip_if_read option to repo_read_gitmodules()
946 - - grep: replace grep_read_mutex by internal obj read lock
947 - - object-store: allow threaded access to object reading
948 - - replace-object: make replace operations thread-safe
949 - - grep: fix racy calls in grep_objects()
950 - - grep: fix race conditions at grep_submodule()
951 - - grep: fix race conditions on userdiff calls
928 + (merged to 'next' on 2020-02-07 at e86bab09e1)
929 + + grep: use no. of cores as the default no. of threads
930 + + grep: move driver pre-load out of critical section
931 + + grep: re-enable threads in non-worktree case
932 + + grep: protect packed_git [re-]initialization
933 + + grep: allow submodule functions to run in parallel
934 + + submodule-config: add skip_if_read option to repo_read_gitmodules()
935 + + grep: replace grep_read_mutex by internal obj read lock
936 + + object-store: allow threaded access to object reading
937 + + replace-object: make replace operations thread-safe
938 + + grep: fix racy calls in grep_objects()
939 + + grep: fix race conditions at grep_submodule()
940 + + grep: fix race conditions on userdiff calls
941
942 Traditionally, we avoided threaded grep while searching in objects
943 (as opposed to files in the working tree) as accesses to the object
944 layer is not thread-safe. This limitation is getting lifted.
945
957 - Will merge to 'next'.
946 + Will merge to 'master'.
947
948
949 * jn/pretend-object-doc (2020-01-06) 1 commit
961 - - sha1-file: document how to use pretend_object_file
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
966 - Will merge to 'next'.
967 -
956 + Will merge to 'master'.
957
958
959 * dl/merge-autostash (2020-01-13) 17 commits
@@ -993,38 +982,40 @@ of the repositories listed at
982
983
984 * dl/test-must-fail-fixes-2 (2020-01-27) 16 commits
996 - - t4124: only mark git command with test_must_fail
997 - - t3507: use test_path_is_missing()
998 - - t3507: fix indentation
999 - - t3504: do check for conflict marker after failed cherry-pick
1000 - - t3419: stop losing return code of git command
1001 - - t3415: increase granularity of test_auto_{fixup,squash}()
1002 - - t3415: stop losing return codes of git commands
1003 - - t3310: extract common notes_merge_files_gone()
1004 - - t3030: use test_path_is_missing()
1005 - - t2018: replace "sha" with "oid"
1006 - - t2018: don't lose return code of git commands
1007 - - t2018: teach do_checkout() to accept `!` arg
1008 - - t2018: be more discerning when checking for expected exit codes
1009 - - t2018: improve style of if-statement
1010 - - t2018: add space between function name and ()
1011 - - t2018: remove trailing space from test description
985 + (merged to 'next' on 2020-02-07 at 535e019692)
986 + + t4124: only mark git command with test_must_fail
987 + + t3507: use test_path_is_missing()
988 + + t3507: fix indentation
989 + + t3504: do check for conflict marker after failed cherry-pick
990 + + t3419: stop losing return code of git command
991 + + t3415: increase granularity of test_auto_{fixup,squash}()
992 + + t3415: stop losing return codes of git commands
993 + + t3310: extract common notes_merge_files_gone()
994 + + t3030: use test_path_is_missing()
995 + + t2018: replace "sha" with "oid"
996 + + t2018: don't lose return code of git commands
997 + + t2018: teach do_checkout() to accept `!` arg
998 + + t2018: be more discerning when checking for expected exit codes
999 + + t2018: improve style of if-statement
1000 + + t2018: add space between function name and ()
1001 + + t2018: remove trailing space from test description
1002
1003 Test updates.
1004
1015 - Will merge to 'next'.
1005 + Will merge to 'master'.
1006
1007
1008 * jn/promote-proto2-to-default (2020-01-15) 5 commits
1019 - - fetch: default to protocol version 2
1020 - - protocol test: let protocol.version override GIT_TEST_PROTOCOL_VERSION
1021 - - test: request GIT_TEST_PROTOCOL_VERSION=0 when appropriate
1022 - - config doc: protocol.version is not experimental
1023 - - fetch test: use more robust test for filtered objects
1009 + (merged to 'next' on 2020-02-07 at 5597fd726b)
1010 + + fetch: default to protocol version 2
1011 + + protocol test: let protocol.version override GIT_TEST_PROTOCOL_VERSION
1012 + + test: request GIT_TEST_PROTOCOL_VERSION=0 when appropriate
1013 + + config doc: protocol.version is not experimental
1014 + + fetch test: use more robust test for filtered objects
1015
1016 The transport protocol version 2 becomes the default one.
1017
1027 - Will merge to 'next'.
1018 + Will merge to 'master'.
1019
1020
1021 * yz/p4-py3 (2020-01-15) 14 commits
@@ -1051,29 +1042,6 @@ of the repositories listed at
1042 cf. <20200123175645.GF6837@szeder.dev>
1043
1044
1054 -* dl/test-must-fail-fixes (2019-12-20) 15 commits
1055 - (merged to 'next' on 2020-01-27 at ed382cd096)
1056 - + t1507: inline full_name()
1057 - + t1507: run commands within test_expect_success
1058 - + t1507: stop losing return codes of git commands
1059 - + t1501: remove use of `test_might_fail cp`
1060 - + t1409: use test_path_is_missing()
1061 - + t1409: let sed open its own input file
1062 - + t1307: reorder `nongit test_must_fail`
1063 - + t1306: convert `test_might_fail rm` to `rm -f`
1064 - + t0020: use ! check_packed_refs_marked
1065 - + t0020: don't use `test_must_fail has_cr`
1066 - + t0003: don't use `test_must_fail attr_check`
1067 - + t0003: use test_must_be_empty()
1068 - + t0003: use named parameters in attr_check()
1069 - + t0000: replace test_must_fail with run_sub_test_lib_test_err()
1070 - + t/lib-git-p4: use test_path_is_missing()
1071 -
1072 - Test clean-up.
1073 -
1074 - Will merge to 'master'.
1075 -
1076 -
1045 * en/rebase-backend (2020-01-17) 19 commits
1046 - rebase: change the default backend from "am" to "merge"
1047 - rebase: make the backend configurable via config setting
@@ -1103,85 +1071,22 @@ of the repositories listed at
1071 cf. <CABPp-BHONuRyt8VJqRuoCF2rGYZ5EhH9KJXQZ3NO69rYwA5J3g@mail.gmail.com>
1072
1073
1106 -* bc/hash-independent-tests-part-7 (2020-01-15) 20 commits
1107 - (merged to 'next' on 2020-01-27 at a519c8fae4)
1108 - + t5604: make hash independent
1109 - + t5601: switch into repository to hash object
1110 - + t5562: use $ZERO_OID
1111 - + t5540: make hash size independent
1112 - + t5537: make hash size independent
1113 - + t5530: compute results based on object length
1114 - + t5512: abstract away SHA-1-specific constants
1115 - + t5510: make hash size independent
1116 - + t5504: make hash algorithm independent
1117 - + t5324: make hash size independent
1118 - + t5319: make test work with SHA-256
1119 - + t5319: change invalid offset for SHA-256 compatibility
1120 - + t5318: update for SHA-256
1121 - + t4300: abstract away SHA-1-specific constants
1122 - + t4204: make hash size independent
1123 - + t4202: abstract away SHA-1-specific constants
1124 - + t4200: make hash size independent
1125 - + t4134: compute appropriate length constant
1126 - + t4066: compute index line in diffs
1127 - + t4054: make hash-size independent
1128 -
1129 - Preparation of test scripts for the day when the object names will
1130 - use SHA-256 continues.
1131 -
1132 - Will merge to 'master'.
1133 -
1134 -
1135 -* js/add-p-leftover-bits (2020-01-15) 10 commits
1136 - (merged to 'next' on 2020-01-27 at ec5021a1bd)
1137 - + ci: include the built-in `git add -i` in the `linux-gcc` job
1138 - + built-in add -p: handle Escape sequences more efficiently
1139 - + built-in add -p: handle Escape sequences in interactive.singlekey mode
1140 - + built-in add -p: respect the `interactive.singlekey` config setting
1141 - + terminal: add a new function to read a single keystroke
1142 - + terminal: accommodate Git for Windows' default terminal
1143 - + terminal: make the code of disable_echo() reusable
1144 - + built-in add -p: handle diff.algorithm
1145 - + built-in add -p: support interactive.diffFilter
1146 - + t3701: adjust difffilter test
1147 - (this branch uses js/patch-mode-in-others-in-c.)
1148 -
1149 - The final leg of rewriting "add -i/-p" in C.
1150 -
1151 - Will merge to 'master'.
1152 -
1153 -
1154 -* js/patch-mode-in-others-in-c (2019-12-21) 7 commits
1155 - (merged to 'next' on 2020-01-27 at 36f6756aae)
1156 - + commit --interactive: make it work with the built-in `add -i`
1157 - + built-in add -p: implement the "worktree" patch modes
1158 - + built-in add -p: implement the "checkout" patch modes
1159 - + built-in stash: use the built-in `git add -p` if so configured
1160 - + legacy stash -p: respect the add.interactive.usebuiltin setting
1161 - + built-in add -p: implement the "stash" and "reset" patch modes
1162 - + built-in add -p: prepare for patch modes other than "stage"
1163 - (this branch is used by js/add-p-leftover-bits.)
1164 -
1165 - The effort to move "git-add--interactive" to C continues.
1166 -
1167 - Will merge to 'master'.
1168 -
1169 -
1074 * jk/packfile-reuse-cleanup (2020-01-23) 12 commits
1171 - - pack-bitmap: don't rely on bitmap_git->reuse_objects
1172 - - pack-objects: add checks for duplicate objects
1173 - - pack-objects: improve partial packfile reuse
1174 - - builtin/pack-objects: introduce obj_is_packed()
1175 - - pack-objects: introduce pack.allowPackReuse
1176 - - csum-file: introduce hashfile_total()
1177 - - pack-bitmap: simplify bitmap_has_oid_in_uninteresting()
1178 - - pack-bitmap: uninteresting oid can be outside bitmapped packfile
1179 - - pack-bitmap: introduce bitmap_walk_contains()
1180 - - ewah/bitmap: introduce bitmap_word_alloc()
1181 - - packfile: expose get_delta_base()
1182 - - builtin/pack-objects: report reused packfile objects
1075 + (merged to 'next' on 2020-02-07 at c543bc27fb)
1076 + + pack-bitmap: don't rely on bitmap_git->reuse_objects
1077 + + pack-objects: add checks for duplicate objects
1078 + + pack-objects: improve partial packfile reuse
1079 + + builtin/pack-objects: introduce obj_is_packed()
1080 + + pack-objects: introduce pack.allowPackReuse
1081 + + csum-file: introduce hashfile_total()
1082 + + pack-bitmap: simplify bitmap_has_oid_in_uninteresting()
1083 + + pack-bitmap: uninteresting oid can be outside bitmapped packfile
1084 + + pack-bitmap: introduce bitmap_walk_contains()
1085 + + ewah/bitmap: introduce bitmap_word_alloc()
1086 + + packfile: expose get_delta_base()
1087 + + builtin/pack-objects: report reused packfile objects
1088
1089 The way "git pack-objects" reuses objects stored in existing pack
1090 to generate its result has been improved.
1091
1187 - Will merge to 'next'?
1092 + Will merge to 'master'.