What's cooking (2019/12 #03)

Junio C Hamano committed Dec 10, 2019 at 15:11 UTC 52584a96c5b15af233456bb8975bf6587cc58960
1 file changed +470 -622
whats-cooking.txt
+470 -622
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Dec 2019, #02; Thu, 5)
4 -X-master-at: 083378cc35c4dbcc607e4cdd24a5fca440163d17
5 -X-next-at: f85fac6f6eedeb72469441dac97a7b59b027bf1f
3 +Subject: What's cooking in git.git (Dec 2019, #03; Tue, 10)
4 +X-master-at: 83f90b8666dffdc13ddedebd3c91bf4ae7307d24
5 +X-next-at: c3465028122a735d0278f138f606ef64549fd8a8
6
7 -What's cooking in git.git (Dec 2019, #02; Thu, 5)
7 +What's cooking in git.git (Dec 2019, #03; Tue, 10)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -12,7 +12,8 @@ Here are the topics that have been cooking. Commits prefixed with
12 '+' are in 'next'. The ones marked with '.' do not appear in any of
13 the integration branches, but I am still holding onto them.
14
15 -The third batch of topics are now in 'master'.
15 +The fifth batch of topics are now in 'master', on top of merging the
16 +big security-related updates to the older maintenance tracks.
17
18 You can find the changes described here in the integration branches
19 of the repositories listed at
@@ -22,579 +23,489 @@ of the repositories listed at
23 --------------------------------------------------
24 [Graduated to "master"]
25
25 -* dd/rebase-merge-reserves-onto-label (2019-11-20) 1 commit
26 - (merged to 'next' on 2019-11-21 at a6e4e5af0a)
27 - + sequencer: handle rebase-merges for "onto" message
28 - (this branch uses js/rebase-r-safer-label.)
29 -
30 - The logic to avoid duplicate label names generated by "git rebase
31 - --rebase-merges" forgot that the machinery itself uses "onto" as a
32 - label name, which must be avoided by auto-generated labels, which
33 - has been corrected.
34 -
35 -
36 -* dl/range-diff-with-notes (2019-11-21) 10 commits
37 - (merged to 'next' on 2019-11-25 at dd6dad97c1)
38 - + format-patch: pass notes configuration to range-diff
39 - + range-diff: pass through --notes to `git log`
40 - + range-diff: output `## Notes ##` header
41 - + t3206: range-diff compares logs with commit notes
42 - + t3206: s/expected/expect/
43 - + t3206: disable parameter substitution in heredoc
44 - + t3206: remove spaces after redirect operators
45 - + pretty-options.txt: --notes accepts a ref instead of treeish
46 - + rev-list-options.txt: remove reference to --show-notes
47 - + argv-array: add space after `while`
48 -
49 - "git range-diff" learned to take the "--notes=<ref>" and the
50 - "--no-notes" options to control the commit notes included in the
51 - log message that gets compared.
52 -
53 -
54 -* dl/t5520-cleanup (2019-11-21) 15 commits
55 - (merged to 'next' on 2019-11-27 at 523d920acf)
56 - + t5520: replace `! git` with `test_must_fail git`
57 - + t5520: remove redundant lines in test cases
58 - + t5520: replace $(cat ...) comparison with test_cmp
59 - + t5520: don't put git in upstream of pipe
60 - + t5520: test single-line files by git with test_cmp
61 - + t5520: use test_cmp_rev where possible
62 - + t5520: replace test -{n,z} with test-lib functions
63 - + t5520: use test_line_count where possible
64 - + t5520: remove spaces after redirect operator
65 - + t5520: replace test -f with test-lib functions
66 - + t5520: let sed open its own input
67 - + t5520: use sq for test case names
68 - + t5520: improve test style
69 - + t: teach test_cmp_rev to accept ! for not-equals
70 - + t0000: test multiple local assignment
26 +* ag/sequencer-continue-leakfix (2019-11-30) 1 commit
27 + (merged to 'next' on 2019-12-05 at 923a6a7ab6)
28 + + sequencer: fix a memory leak in sequencer_continue()
29
72 - Test cleanup.
30 + Leakfix.
31
32
75 -* ec/fetch-mark-common-refs-trace2 (2019-11-20) 1 commit
76 - (merged to 'next' on 2019-11-25 at c2b8e1546c)
77 - + fetch: add trace2 instrumentation
33 +* am/pathspec-from-file (2019-11-20) 6 commits
34 + (merged to 'next' on 2019-11-27 at ee131b80fb)
35 + + commit: support the --pathspec-from-file option
36 + + doc: commit: synchronize <pathspec> description
37 + + reset: support the `--pathspec-from-file` option
38 + + doc: reset: synchronize <pathspec> description
39 + + pathspec: add new function to parse file
40 + + parse-options.h: add new options `--pathspec-from-file`, `--pathspec-file-nul`
41 + (this branch is used by am/pathspec-f-f-checkout and es/pathspec-f-f-grep.)
42
79 - Trace2 annotation.
43 + A few commands learned to take the pathspec from the
44 + standard input or a named file, instead of taking it as the command
45 + line arguments.
46
47
82 -* ep/guard-kset-tar-headers (2019-11-07) 1 commit
83 - (merged to 'next' on 2019-11-21 at 6c9574b01d)
84 - + kset.h, tar.h: add missing header guard to prevent multiple inclusion
48 +* as/t7812-missing-redirects-fix (2019-12-01) 2 commits
49 + (merged to 'next' on 2019-12-05 at aa89a7945f)
50 + + t7812: expect failure for grep -i with invalid UTF-8 data
51 + + t7812: add missing redirects
52
86 - Code clean-up.
53 + Test fix.
54
55
89 -* hi/gpg-optional-pkfp-fix (2019-11-23) 2 commits
90 - (merged to 'next' on 2019-11-25 at b0d668176f)
91 - + gpg-interface: limit search for primary key fingerprint
92 - + gpg-interface: refactor the free-and-xmemdupz pattern
93 - (this branch is used by hi/gpg-use-check-signature.)
56 +* bc/t9001-zsh-in-posix-emulation-mode (2019-11-30) 1 commit
57 + (merged to 'next' on 2019-12-05 at d0ce4bcc90)
58 + + t9001: avoid including non-trailing NUL bytes in variables
59
95 - The code to parse GPG output used to assume incorrectly that the
96 - finterprint for the primary key would always be present for a valid
97 - signature, which has been corrected.
60 + Test portability fix.
61
62
100 -* hv/assume-priumax-is-available-anywhere (2019-11-25) 1 commit
101 - (merged to 'next' on 2019-11-27 at caac4f633d)
102 - + git-compat-util.h: drop the `PRIuMAX` and other fallback definitions
63 +* dl/lore-is-the-archive (2019-12-04) 3 commits
64 + (merged to 'next' on 2019-12-05 at c87e168cd6)
65 + + doc: replace LKML link with lore.kernel.org
66 + + RelNotes: replace Gmane with real Message-IDs
67 + + doc: replace MARC links with lore.kernel.org
68 + (this branch uses jk/lore-is-the-archive.)
69
104 - We have had compatibility fallback macro definitions for "PRIuMAX",
105 - "PRIu32", etc. but did not for "PRIdMAX", while the code used the
106 - last one apparently without any hiccup reported recently. The
107 - fallback macro definitions for these <inttypes.h> macros that must
108 - appear in C99 systems have been removed.
70 + Publicize lore.kernel.org mailing list archive and use URLs
71 + pointing into it to refer to notable messages in the documentation.
72
73
111 -* jc/azure-ci-osx-fix-fix (2019-11-20) 1 commit
112 - (merged to 'next' on 2019-11-25 at 7de6356e67)
113 - + ci(osx): update homebrew-cask repository with less noise
74 +* dl/pretty-reference (2019-11-20) 11 commits
75 + (merged to 'next' on 2019-12-05 at 0972133ad2)
76 + + SubmittingPatches: use `--pretty=reference`
77 + + pretty: implement 'reference' format
78 + + pretty: add struct cmt_fmt_map::default_date_mode_type
79 + + pretty: provide short date format
80 + + t4205: cover `git log --reflog -z` blindspot
81 + + pretty.c: inline initalize format_context
82 + + revision: make get_revision_mark() return const pointer
83 + + completion: complete `tformat:` pretty format
84 + + SubmittingPatches: remove dq from commit reference
85 + + pretty-formats.txt: use generic terms for hash
86 + + SubmittingPatches: use generic terms for hash
87
115 - CI jobs for macOS has been made less chatty when updating perforce
116 - package used during testing.
88 + "git log" family learned "--pretty=reference" that gives the name
89 + of a commit in the format that is often used to refer to it in log
90 + messages.
91
92
119 -* jh/userdiff-python-async (2019-11-20) 1 commit
120 - (merged to 'next' on 2019-11-25 at 74e4a4ed9f)
121 - + userdiff: support Python async functions
93 +* dl/submodule-set-url (2019-10-30) 1 commit
94 + (merged to 'next' on 2019-12-05 at a164eccad1)
95 + + submodule: teach set-url subcommand
96
123 - The userdiff machinery has been taught that "async def" is another
124 - way to begin a "function" in Python.
97 + "git submodule" learned a subcommand "set-url".
98
99
127 -* jk/fail-show-toplevel-outside-working-tree (2019-11-20) 1 commit
128 - (merged to 'next' on 2019-11-25 at cd97ae38bc)
129 - + rev-parse: make --show-toplevel without a worktree an error
100 +* ds/commit-graph-delay-gen-progress (2019-11-27) 2 commits
101 + (merged to 'next' on 2019-12-05 at 9252a4b1b6)
102 + + commit-graph: use start_delayed_progress()
103 + + progress: create GIT_PROGRESS_DELAY
104
131 - "git rev-parse --show-toplevel" run outside of any working tree did
132 - not error out, which has been corrected.
105 + One kind of progress messages were always given during commit-graph
106 + generation, instead of following the "if it takes more than two
107 + seconds, show progress" pattern, which has been corrected.
108
109
135 -* js/builtin-add-i (2019-11-18) 9 commits
136 - (merged to 'next' on 2019-11-21 at caefa55b89)
137 - + built-in add -i: implement the `help` command
138 - + built-in add -i: use color in the main loop
139 - + built-in add -i: support `?` (prompt help)
140 - + built-in add -i: show unique prefixes of the commands
141 - + built-in add -i: implement the main loop
142 - + built-in add -i: color the header in the `status` command
143 - + built-in add -i: implement the `status` command
144 - + diff: export diffstat interface
145 - + Start to implement a built-in version of `git add --interactive`
146 - (this branch is used by js/builtin-add-i-cmds.)
110 +* em/test-skip-regex-illseq (2019-11-30) 1 commit
111 + (merged to 'next' on 2019-12-05 at 85c7940aeb)
112 + + t4210: skip i18n tests that don't work on FreeBSD
113
148 - The beginning of rewriting "git add -i" in C.
114 + Test portability fix.
115
116
151 -* js/git-svn-use-rebase-merges (2019-11-23) 1 commit
152 - (merged to 'next' on 2019-11-25 at 9585fe30f8)
153 - + git svn: stop using `rebase --preserve-merges`
117 +* hi/gpg-use-check-signature (2019-11-30) 1 commit
118 + (merged to 'next' on 2019-12-05 at 35fc8e839a)
119 + + gpg-interface: prefer check_signature() for GPG verification
120
155 - Prepare further for "rebase --preserve-merges" deprecation.
121 + Hide lower-level verify_signed-buffer() API as a pure helper to
122 + implement the public check_signature() function, in order to
123 + encourage new callers to use the correct and more strict
124 + validation.
125
126
158 -* js/pkt-line-h-typofix (2019-12-02) 1 commit
159 - (merged to 'next' on 2019-12-02 at 8f36a354ae)
160 - + pkt-line: fix a typo
127 +* hi/grep-do-not-return-void (2019-11-30) 1 commit
128 + (merged to 'next' on 2019-12-02 at 4409c73cfa)
129 + + grep: don't return an expression from pcre2_free()
130
162 - Typofix.
131 + Code cleanup.
132
133
165 -* js/rebase-r-safer-label (2019-11-18) 2 commits
166 - (merged to 'next' on 2019-11-21 at 791d51b0d7)
167 - + rebase -r: let `label` generate safer labels
168 - + rebase-merges: move labels' whitespace mangling into `label_oid()`
169 - (this branch is used by dd/rebase-merge-reserves-onto-label.)
134 +* jk/lore-is-the-archive (2019-11-30) 2 commits
135 + (merged to 'next' on 2019-12-02 at 603a2b0105)
136 + + doc: replace public-inbox links with lore.kernel.org
137 + + doc: recommend lore.kernel.org over public-inbox.org
138 + (this branch is used by dl/lore-is-the-archive.)
139
171 - A label used in the todo list that are generated by "git rebase
172 - --rebase-merges" is used as a part of a refname; the logic to come
173 - up with the label has been tightened to avoid names that cannot be
174 - used as such.
140 + Doc update for the mailing list archiving and nntp service.
141
142
177 -* mg/doc-submodule-status-cached (2019-11-24) 1 commit
178 - (merged to 'next' on 2019-11-25 at fa833392a3)
179 - + doc: document 'git submodule status --cached'
143 +* jk/perf-wo-git-dot-pm (2019-11-27) 1 commit
144 + (merged to 'next' on 2019-12-05 at 6d9e3930ec)
145 + + t/perf: don't depend on Git.pm
146
181 - "git submodule status" and "git submodule status --cached" show
182 - different things, but the documentation did not cover them
183 - correctly, which has been corrected.
147 + Test cleanup.
148
149
186 -* mg/submodule-status-from-a-subdirectory (2019-11-25) 1 commit
187 - (merged to 'next' on 2019-11-27 at 24cb2d79ff)
188 - + submodule: fix 'submodule status' when called from a subdirectory
150 +* jk/send-pack-check-negative-with-quick (2019-11-30) 1 commit
151 + (merged to 'next' on 2019-12-02 at 2b01214601)
152 + + send-pack: use OBJECT_INFO_QUICK to check negative objects
153
190 - "git submodule status" that is run from a subdirectory of the
191 - superproject did not work well, which has been corrected.
154 + Performance tweak on "git push" into a repository with many refs
155 + that point at objects we have never heard of.
156
157
194 -* mh/clear-topo-walk-upon-reset (2019-11-25) 2 commits
195 - (merged to 'next' on 2019-11-27 at 15871c1c2a)
196 - + revision: free topo_walk_info before creating a new one in init_topo_walk
197 - + revision: clear the topo-walk flags in reset_revision_walk
158 +* js/mingw-inherit-only-std-handles (2019-12-02) 6 commits
159 + (merged to 'next' on 2019-12-05 at 289f13054b)
160 + + mingw: forbid translating ERROR_SUCCESS to an errno value
161 + (merged to 'next' on 2019-12-02 at 798a952eca)
162 + + mingw: do set `errno` correctly when trying to restrict handle inheritance
163 + (merged to 'next' on 2019-11-27 at 4736894af6)
164 + + mingw: restrict file handle inheritance only on Windows 7 and later
165 + + mingw: spawned processes need to inherit only standard handles
166 + + mingw: work around incorrect standard handles
167 + + mingw: demonstrate that all file handles are inherited by child processes
168
199 - The revision walking machinery uses resources like per-object flag
200 - bits that need to be reset before a new iteration of walking
201 - begins, but the resources related to topological walk were not
202 - cleared correctly, which has been corrected.
169 + Work around a issue where a FD that is left open when spawning a
170 + child process and is kept open in the child can interfere with the
171 + operation in the parent process on Windows.
172
173
205 -* nl/reset-patch-takes-a-tree (2019-11-25) 1 commit
206 - (merged to 'next' on 2019-11-25 at 34dc348eaf)
207 - + reset: parse rev as tree-ish in patch mode
174 +* jt/clone-recursesub-ref-advise (2019-12-03) 2 commits
175 + (merged to 'next' on 2019-12-05 at fc071dddfe)
176 + + submodule--helper: advise on fatal alternate error
177 + + Doc: explain submodule.alternateErrorStrategy
178
209 - "git reset --patch $object" without any pathspec should allow a
210 - tree object to be given, but incorrectly required a committish,
211 - which has been corrected.
179 + The interaction between "git clone --recurse-submodules" and
180 + alternate object store was ill-designed. The documentation and
181 + code have been taught to make more clear recommendations when the
182 + users see failures.
183
184
214 -* pb/submodule-update-fetches (2019-11-24) 1 commit
215 - (merged to 'next' on 2019-11-25 at 7736f98351)
216 - + doc: mention that 'git submodule update' fetches missing commits
185 +* po/bundle-doc-clonable (2019-10-21) 1 commit
186 + (merged to 'next' on 2019-12-02 at bd7fa24ad6)
187 + + Doc: Bundle file usage
188
189 Doc update.
190
191
221 -* pw/sequencer-compare-with-right-parent-to-check-empty-commits (2019-11-23) 1 commit
222 - (merged to 'next' on 2019-11-25 at a4e4f06286)
223 - + sequencer: fix empty commit check when amending
224 -
225 - The sequencer machinery compared the HEAD and the state it is
226 - attempting to commit to decide if the result would be a no-op
227 - commit, even when amending a commit, which was incorrect, and
228 - has been corrected.
229 -
230 -
231 -* sg/test-bool-env (2019-11-23) 2 commits
232 - (merged to 'next' on 2019-11-27 at e1874e422f)
233 - + t5608-clone-2gb.sh: turn GIT_TEST_CLONE_2GB into a bool
234 - + tests: add 'test_bool_env' to catch non-bool GIT_TEST_* values
235 -
236 - Recently we have declared that GIT_TEST_* variables take the
237 - usual boolean values (it used to be that some used "non-empty
238 - means true" and taking GIT_TEST_VAR=YesPlease as true); make
239 - sure we notice and fail when non-bool strings are given to
240 - these variables.
241 -
242 -
243 -* sg/unpack-progress-throughput (2019-11-20) 1 commit
244 - (merged to 'next' on 2019-11-25 at 0418db6a27)
245 - + builtin/unpack-objects.c: show throughput progress
246 -
247 - "git unpack-objects" used to show progress based only on the number
248 - of received and unpacked objects, which stalled when it has to
249 - handle an unusually large object. It now shows the throughput as
250 - well.
251 -
192 +* ra/rebase-i-more-options (2019-11-25) 7 commits
193 + (merged to 'next' on 2019-11-27 at e8a6d1e281)
194 + + rebase -i: finishing touches to --reset-author-date
195 + + rebase: add --reset-author-date
196 + + rebase -i: support --ignore-date
197 + + sequencer: rename amend_author to author_to_rename
198 + + rebase -i: support --committer-date-is-author-date
199 + + sequencer: allow callers of read_author_script() to ignore fields
200 + + rebase -i: add --ignore-whitespace flag
201
253 -* us/unpack-trees-fsmonitor (2019-11-21) 1 commit
254 - (merged to 'next' on 2019-11-27 at 4c06f74957)
255 - + unpack-trees: skip stat on fsmonitor-valid files
202 + "git rebase -i" learned a few options that are known by "git
203 + rebase" proper.
204
257 - Users of oneway_merge() (like "reset --hard") learned to take
258 - advantage of fsmonitor to avoid unnecessary lstat(2) calls.
205
260 ---------------------------------------------------
261 -[New Topics]
206 +* rs/simplify-prepare-cmd (2019-11-27) 1 commit
207 + (merged to 'next' on 2019-12-02 at 12e1a9e935)
208 + + run-command: use prepare_git_cmd() in prepare_cmd()
209
263 -* am/pathspec-f-f-checkout (2019-12-04) 7 commits
264 - - checkout, restore: support the --pathspec-from-file option
265 - - doc: restore: synchronize <pathspec> description
266 - - doc: checkout: synchronize <pathspec> description
267 - - doc: checkout: fix broken text reference
268 - - doc: checkout: remove duplicate synopsis
269 - - add: support the --pathspec-from-file option
270 - - cmd_add: prepare for next patch
271 - (this branch uses am/pathspec-from-file; is tangled with es/pathspec-f-f-grep.)
210 + Code cleanup.
211
273 - A few more commands learned the "--pathspec-from-file" command line
274 - option.
212
276 - Will merge to 'next'.
213 +* rs/test-cleanup (2019-11-30) 7 commits
214 + (merged to 'next' on 2019-12-02 at eabc2e30f5)
215 + + t7811: don't create unused file
216 + + t9300: don't create unused file
217 + + test: use test_must_be_empty F instead of test_cmp empty F
218 + + test: use test_must_be_empty F instead of test -z $(cat F)
219 + + t1400: use test_must_be_empty
220 + + t1410: use test_line_count
221 + + t1512: use test_line_count
222
223 + Test cleanup.
224
279 -* dl/lore-is-the-archive (2019-12-04) 3 commits
280 - (merged to 'next' on 2019-12-05 at c87e168cd6)
281 - + doc: replace LKML link with lore.kernel.org
282 - + RelNotes: replace Gmane with real Message-IDs
283 - + doc: replace MARC links with lore.kernel.org
284 - (this branch uses jk/lore-is-the-archive.)
225
286 - Publicize lore.kernel.org mailing list archive and use URLs
287 - pointing into it to refer to notable messages in the documentation.
226 +* rs/use-skip-prefix-more (2019-11-27) 5 commits
227 + (merged to 'next' on 2019-12-02 at a2124db23e)
228 + + name-rev: use skip_prefix() instead of starts_with()
229 + + push: use skip_prefix() instead of starts_with()
230 + + shell: use skip_prefix() instead of starts_with()
231 + + fmt-merge-msg: use skip_prefix() instead of starts_with()
232 + + fetch: use skip_prefix() instead of starts_with()
233
289 - Will merge to 'master'.
234 + Code cleanup.
235
236
292 -* dl/rebase-with-autobase (2019-12-05) 5 commits
293 - - rebase: fix format.useAutoBase breakage
294 - - format-patch: teach --no-base
295 - - t4014: use test_config()
296 - - format-patch: fix indentation
297 - - t3400: demonstrate failure with format.useAutoBase
237 +* sg/assume-no-todo-update-in-cherry-pick (2019-11-24) 1 commit
238 + (merged to 'next' on 2019-11-27 at 6908186f85)
239 + + sequencer: don't re-read todo for revert and cherry-pick
240
299 - "git rebase" did not work well when format.useAutoBase
300 - configuration variable is set, which has been corrected.
241 + While running "revert" or "cherry-pick --edit" for multiple
242 + commits, a recent regression incorrectly detected "nothing to
243 + commit, working tree clean", instead of replaying the commits,
244 + which has been corrected.
245
302 - Will merge to 'next'.
246
247 +* sg/osx-force-gcc-9 (2019-11-29) 1 commit
248 + (merged to 'next' on 2019-12-02 at 4916f80e5e)
249 + + ci: build Git with GCC 9 in the 'osx-gcc' build job
250
305 -* es/pathspec-f-f-grep (2019-12-04) 1 commit
306 - - grep: support the --pathspec-from-file option
307 - (this branch uses am/pathspec-from-file; is tangled with am/pathspec-f-f-checkout.)
251 + TravisCI update.
252
309 - "git grep" learned the "--pathspec-from-file" command line
310 - option.
253
312 - Waiting for review response.
254 +* sg/test-squelch-noise-in-commit-bulk (2019-11-27) 1 commit
255 + (merged to 'next' on 2019-12-05 at 7819efee07)
256 + + test-lib-functions: suppress a 'git rev-parse' error in 'test_commit_bulk'
257
258 + Code cleanup.
259
315 -* rs/xdiff-ignore-ws-w-func-context (2019-12-05) 1 commit
316 - - xdiff: unignore changes in function context
260
318 - The "diff" machinery learned not to lose added/removed blank lines
319 - in the context when --ignore-blank-lines and --function-context are
320 - used at the same time.
261 +* tg/perf-remove-stale-result (2019-11-27) 1 commit
262 + (merged to 'next' on 2019-12-05 at 466f07fb63)
263 + + perf-lib: use a single filename for all measurement types
264
322 - Will merge to 'next'.
265 + PerfTest fix to avoid stale result mixed up with the latest round
266 + of test results.
267
268 +--------------------------------------------------
269 +[New Topics]
270
325 -* ag/edit-todo-drop-check (2019-12-04) 2 commits
326 - - rebase-interactive: warn if commit is dropped with `rebase --edit-todo'
327 - - sequencer: move check_todo_list_from_file() to rebase-interactive.c
328 - (this branch uses ag/sequencer-todo-updates.)
271 +* at/rebase-fork-point-regression-fix (2019-12-09) 1 commit
272 + - rebase: fix --fork-point with short refname
273
330 - Allow the rebase.missingCommitsCheck configuration to kick in when
331 - "rebase --edit-todo" and "rebase --continue" restarts the procedure.
274 + The "--fork-point" mode of "git rebase" regressed when the command
275 + was rewritten in C back in 2.20 era, which has been corrected.
276
333 - Seems to break when merged to 'pu'.
277 + Waiting for discussion to settle.
278
279
336 ---------------------------------------------------
337 -[Stalled]
280 +* dl/range-diff-with-notes (2019-12-06) 3 commits
281 + (merged to 'next' on 2019-12-10 at af8f441807)
282 + + range-diff: clear `other_arg` at end of function
283 + + range-diff: mark pointers as const
284 + + t3206: fix incorrect test name
285
339 -* mt/threaded-grep-in-object-store (2019-10-02) 11 commits
340 - - grep: move driver pre-load out of critical section
341 - - grep: re-enable threads in non-worktree case
342 - - grep: protect packed_git [re-]initialization
343 - - grep: allow submodule functions to run in parallel
344 - - submodule-config: add skip_if_read option to repo_read_gitmodules()
345 - - grep: replace grep_read_mutex by internal obj read lock
346 - - object-store: allow threaded access to object reading
347 - - replace-object: make replace operations thread-safe
348 - - grep: fix racy calls in grep_objects()
349 - - grep: fix race conditions at grep_submodule()
350 - - grep: fix race conditions on userdiff calls
351 -
352 - Traditionally, we avoided threaded grep while searching in objects
353 - (as opposed to files in the working tree) as accesses to the object
354 - layer is not thread-safe. This limitation is getting lifted.
286 + Code clean-up.
287
356 - Expecting a reroll.
357 - cf. <CAHd-oW7UPSSExyLtfLMCObWogKrBOctYabrFrOdf9-4Q2PZmMg@mail.gmail.com>
288 + Will merge to 'master'.
289
290
360 -* po/bundle-doc-clonable (2019-10-21) 1 commit
361 - (merged to 'next' on 2019-12-02 at bd7fa24ad6)
362 - + Doc: Bundle file usage
291 +* js/add-i-a-bit-more-tests (2019-12-06) 7 commits
292 + (merged to 'next' on 2019-12-10 at d7ffb75a43)
293 + + apply --allow-overlap: fix a corner case
294 + + git add -p: use non-zero exit code when the diff generation failed
295 + + t3701: verify that the diff.algorithm config setting is handled
296 + + t3701: verify the shown messages when nothing can be added
297 + + t3701: add a test for the different `add -p` prompts
298 + + t3701: avoid depending on the TTY prerequisite
299 + + t3701: add a test for advanced split-hunk editing
300 + (this branch uses js/builtin-add-i-cmds.)
301
364 - Doc update.
302 + Test coverage update in preparation for further work on "git add -i".
303
304 Will merge to 'master'.
305
306
369 -* js/advise-rebase-skip (2019-10-23) 3 commits
307 +* pw/advise-rebase-skip (2019-12-06) 9 commits
308 + - rebase -i: leave CHERRY_PICK_HEAD when there are conflicts
309 + - rebase: fix advice when a fixup creates an empty commit
310 - commit: give correct advice for empty commit during a rebase
371 - - sequencer: export the function to get the path of `.git/rebase-merge/`
311 + - commit: encapsulate determine_whence() for sequencer
312 + - commit: use enum value for multiple cherry-picks
313 + - sequencer: write CHERRY_PICK_HEAD for reword and edit
314 + - cherry-pick: check commit error messages
315 - cherry-pick: add test for `--skip` advice in `git commit`
316 + - t3404: use test_cmp_rev
317
374 - The logic used in "git commit" to give hints and errors depending
375 - on what operation was in progress learned to distinguish rebase and
376 - cherry-pick better.
318 + The mechanism to prevent "git commit" from making an empty commit
319 + or amending during an interrupted cherry-pick was broken during the
320 + rewrite of "git rebase" in C, which has been corrected.
321
378 - Kicked back to 'pu'.
379 - cf. <nycvar.QRO.7.76.6.1911081508560.46@tvgsbejvaqbjf.bet>
322 + Needs review.
323 + The tip two are still RFC.
324
325
382 -* vn/reset-deleted-ita (2019-07-26) 1 commit
383 - - reset: unstage empty deleted ita files
326 +* sg/t9300-robustify (2019-12-06) 2 commits
327 + (merged to 'next' on 2019-12-10 at dee7a9a945)
328 + + t9300-fast-import: don't hang if background fast-import exits too early
329 + + t9300-fast-import: store the PID in a variable instead of pidfile
330
385 - "git reset HEAD [<pathspec>]" did not reset an empty file that was
386 - added with the intent-to-add bit.
387 -
388 - Expecting a reroll.
331 + The test on "fast-import" used to get stuck when "fast-import" died
332 + in the middle.
333
334 + Will merge to 'master'.
335
391 -* jn/unknown-index-extensions (2018-11-21) 2 commits
392 - - index: offer advice for unknown index extensions
393 - - index: do not warn about unrecognized extensions
394 -
395 - A bit too alarming warning given when unknown index extensions
396 - exist is getting revamped.
397 -
398 - Expecting a reroll.
336
337 +* dl/format-patch-notes-config-fixup (2019-12-09) 5 commits
338 + (merged to 'next' on 2019-12-10 at 2d8830090f)
339 + + format-patch: move git_config() before repo_init_revisions()
340 + + format-patch: use --notes behavior for format.notes
341 + + notes: extract logic into set_display_notes()
342 + + notes: create init_display_notes() helper
343 + + notes: rename to load_display_notes()
344
401 -* jc/format-patch-delay-message-id (2019-04-05) 1 commit
402 - - format-patch: move message-id and related headers to the end
345 + "git format-patch" can take a set of configured format.notes values
346 + to specify which notes refs to use in the log message part of the
347 + output. The behaviour of this was not consistent with multiple
348 + --notes command line options, which has been corrected.
349
404 - The location "git format-patch --thread" adds the Message-Id:
405 - header in the series of header fields has been moved down, which
406 - may help working around a suspected bug in GMail MSA, reported at
407 - <CAHk-=whP1stFZNAaJiMi5eZ9rj0MRt20Y_yHVczZPH+O01d+sA@mail.gmail.com>
350 + Will merge to 'master'.
351
409 - Waiting for feedback to see if it truly helps.
410 - Needs tests.
352
353 +* dr/branch-usage-casefix (2019-12-09) 1 commit
354 + (merged to 'next' on 2019-12-10 at ad8a629fc6)
355 + + l10n: minor case fix in 'git branch' '--unset-upstream' description
356
413 -* js/protocol-advertise-multi (2018-12-28) 1 commit
414 - - protocol: advertise multiple supported versions
357 + Message fix.
358
416 - The transport layer has been updated so that the protocol version
417 - used can be negotiated between the parties, by the initiator
418 - listing the protocol versions it is willing to talk, and the other
419 - side choosing from one of them.
359 + Will merge to 'master'.
360
421 - Expecting a reroll.
422 - cf. <CANq=j3u-zdb_FvNJGPCmygNMScseav63GhVvBX3NcVS4f7TejA@mail.gmail.com>
361
362 +* js/t3404-indent-fix (2019-12-09) 1 commit
363 + (merged to 'next' on 2019-12-10 at 3a705a40d6)
364 + + t3404: fix indentation
365
425 -* mk/use-size-t-in-zlib (2018-10-15) 1 commit
426 - - zlib.c: use size_t for size
366 + Test cleanup.
367
428 - The wrapper to call into zlib followed our long tradition to use
429 - "unsigned long" for sizes of regions in memory, which have been
430 - updated to use "size_t".
368 + Will merge to 'master'.
369
432 ---------------------------------------------------
433 -[Cooking]
370
435 -* ds/commit-graph-delay-gen-progress (2019-11-27) 2 commits
436 - (merged to 'next' on 2019-12-05 at 9252a4b1b6)
437 - + commit-graph: use start_delayed_progress()
438 - + progress: create GIT_PROGRESS_DELAY
371 +* rs/archive-zip-code-cleanup (2019-12-09) 1 commit
372 + (merged to 'next' on 2019-12-10 at 5a0b530805)
373 + + archive-zip: use enum for compression method
374
440 - One kind of progress messages were always given during commit-graph
441 - generation, instead of following the "if it takes more than two
442 - seconds, show progress" pattern, which has been corrected.
375 + Code cleanup.
376
377 Will merge to 'master'.
378
379
447 -* ds/sparse-cone (2019-11-22) 19 commits
448 - - sparse-checkout: check for dirty status
449 - - sparse-checkout: update working directory in-process for 'init'
450 - - sparse-checkout: cone mode should not interact with .gitignore
451 - - sparse-checkout: write using lockfile
452 - - sparse-checkout: use in-process update for disable subcommand
453 - - sparse-checkout: update working directory in-process
454 - - sparse-checkout: sanitize for nested folders
455 - - unpack-trees: add progress to clear_ce_flags()
456 - - unpack-trees: hash less in cone mode
457 - - sparse-checkout: init and set in cone mode
458 - - sparse-checkout: use hashmaps for cone patterns
459 - - sparse-checkout: add 'cone' mode
460 - - trace2: add region in clear_ce_flags
461 - - sparse-checkout: create 'disable' subcommand
462 - - sparse-checkout: add '--stdin' option to set subcommand
463 - - sparse-checkout: 'set' subcommand
464 - - clone: add --sparse mode
465 - - sparse-checkout: create 'init' subcommand
466 - - sparse-checkout: create builtin with 'list' subcommand
380 +* rs/commit-export-env-simplify (2019-12-09) 1 commit
381 + (merged to 'next' on 2019-12-10 at 591b24162c)
382 + + commit: use strbuf_add() to add a length-limited string
383
468 - Management of sparsely checked-out working tree has gained a
469 - dedicated "sparse-checkout" command.
384 + Code cleanup.
385
471 - Possibly wait for Szeder?
472 - cf. <bea26b66-ac52-8f0e-9557-c958db7be628@gmail.com>
386 + Will merge to 'master'.
387
388
475 -* dl/test-cleanup (2019-12-04) 26 commits
476 - - t7700: stop losing return codes of git commands
477 - - t7700: make references to SHA-1 generic
478 - - t7700: replace egrep with grep
479 - - t7700: consolidate code into test_has_duplicate_object()
480 - - t7700: consolidate code into test_no_missing_in_packs()
481 - - t7700: s/test -f/test_path_is_file/
482 - - t7700: move keywords onto their own line
483 - - t7700: remove spaces after redirect operators
484 - - t7700: drop redirections to /dev/null
485 - - t7501: stop losing return codes of git commands
486 - - t7501: remove spaces after redirect operators
487 - - t5703: stop losing return codes of git commands
488 - - t5703: simplify one-time-sed generation logic
489 - - t5317: use ! grep to check for no matching lines
490 - - t5317: stop losing return codes of git commands
491 - - t4138: stop losing return codes of git commands
492 - - t4015: use test_write_lines()
493 - - t4015: stop losing return codes of git commands
494 - - t3600: comment on inducing SIGPIPE in `git rm`
495 - - t3600: stop losing return codes of git commands
496 - - t3600: use test_line_count() where possible
497 - - t3301: stop losing return codes of git commands
498 - - t0090: stop losing return codes of git commands
499 - - t0014: remove git command upstream of pipe
500 - - apply-one-time-sed.sh: modernize style
501 - - lib-bash.sh: move `then` onto its own line
389 +* rs/patch-id-use-oid-to-hex (2019-12-09) 1 commit
390 + (merged to 'next' on 2019-12-10 at cf403a83da)
391 + + patch-id: use oid_to_hex() to print multiple object IDs
392
503 - Test cleanup.
393 + Code cleanup.
394
505 - Will merge to 'next'.
395 + Will merge to 'master'.
396
397 +--------------------------------------------------
398 +[Stalled]
399
508 -* tg/perf-remove-stale-result (2019-11-27) 1 commit
509 - (merged to 'next' on 2019-12-05 at 466f07fb63)
510 - + perf-lib: use a single filename for all measurement types
400 +* ma/config-bool-valex (2019-11-14) 8 commits
401 + - builtin/config: die if "value_regex" doesn't canonicalize as boolean
402 + - builtin/config: warn if "value_regex" doesn't canonicalize as boolean
403 + - builtin/config: canonicalize "value_regex" with `--type=bool-or-int`
404 + - builtin/config: canonicalize "value_regex" with `--type=bool`
405 + - builtin/config: collect "value_regexp" data in a struct
406 + - builtin/config: extract `handle_value_regex()` from `get_value()`
407 + - t1300: modernize part of script
408 + - config: make `git_parse_maybe_bool_text()` public
409
512 - PerfTest fix to avoid stale result mixed up with the latest round
513 - of test results.
410 + "git config" can be told to affect the existing entries that
411 + "match" the given value via its value_regex argument. It learned
412 + to normalize the value set in the configuration and the value given
413 + from the command line before computing they "match", e.g. "true" in
414 + the configuration file can now match with "yes" given from the
415 + command line.
416
515 - Will merge to 'master'.
417 + Needs a bit more work?
418 + cf. <CAN0heSrtwi9V607vBX9PMSfNLQ8iGcno6_iGuR4Fs8ndGxqh8A@mail.gmail.com>
419
420
518 -* ds/fsmonitor-testing (2019-11-22) 11 commits
421 +* ds/fsmonitor-testing (2019-12-09) 8 commits
422 - test-lib: clear watchman watches at test completion
423 - t7519: disable external GIT_TEST_FSMONITOR variable
424 - t7063: disable fsmonitor with status cache
425 - tests: disable fsmonitor in submodule tests
523 - - t3600-rm.sh: disable fsmonitor when deleting populated submodule
426 - t3030-merge-recursive.sh: disable fsmonitor when tweaking GIT_WORK_TREE
525 - - fsmonitor: disable fsmonitor with worktrees
526 - - t1510-repo-setup.sh: disable fsmonitor if no .git dir
427 - t1301-shared-repo.sh: disable FSMONITOR
428 - fsmonitor: do not output to stderr for tests
429 - fsmonitor: disable in a bare repo
430
431 Updates around testing fsmoitor integration.
432
533 - On Hold.
534 - cf. <bea26b66-ac52-8f0e-9557-c958db7be628@gmail.com>
433 + cf. <pull.466.v2.git.1575907804.gitgitgadget@gmail.com>
434
435
537 -* js/mingw-inherit-only-std-handles (2019-12-02) 6 commits
538 - (merged to 'next' on 2019-12-05 at 289f13054b)
539 - + mingw: forbid translating ERROR_SUCCESS to an errno value
540 - (merged to 'next' on 2019-12-02 at 798a952eca)
541 - + mingw: do set `errno` correctly when trying to restrict handle inheritance
542 - (merged to 'next' on 2019-11-27 at 4736894af6)
543 - + mingw: restrict file handle inheritance only on Windows 7 and later
544 - + mingw: spawned processes need to inherit only standard handles
545 - + mingw: work around incorrect standard handles
546 - + mingw: demonstrate that all file handles are inherited by child processes
436 +* mt/threaded-grep-in-object-store (2019-10-02) 11 commits
437 + - grep: move driver pre-load out of critical section
438 + - grep: re-enable threads in non-worktree case
439 + - grep: protect packed_git [re-]initialization
440 + - grep: allow submodule functions to run in parallel
441 + - submodule-config: add skip_if_read option to repo_read_gitmodules()
442 + - grep: replace grep_read_mutex by internal obj read lock
443 + - object-store: allow threaded access to object reading
444 + - replace-object: make replace operations thread-safe
445 + - grep: fix racy calls in grep_objects()
446 + - grep: fix race conditions at grep_submodule()
447 + - grep: fix race conditions on userdiff calls
448
548 - Work around a issue where a FD that is left open when spawning a
549 - child process and is kept open in the child can interfere with the
550 - operation in the parent process on Windows.
449 + Traditionally, we avoided threaded grep while searching in objects
450 + (as opposed to files in the working tree) as accesses to the object
451 + layer is not thread-safe. This limitation is getting lifted.
452
552 - Will merge to 'master'.
453 + Expecting a reroll.
454 + cf. <CAHd-oW7UPSSExyLtfLMCObWogKrBOctYabrFrOdf9-4Q2PZmMg@mail.gmail.com>
455
456
555 -* sg/assume-no-todo-update-in-cherry-pick (2019-11-24) 1 commit
556 - (merged to 'next' on 2019-11-27 at 6908186f85)
557 - + sequencer: don't re-read todo for revert and cherry-pick
457 +* vn/reset-deleted-ita (2019-07-26) 1 commit
458 + - reset: unstage empty deleted ita files
459
559 - While running "revert" or "cherry-pick --edit" for multiple
560 - commits, a recent regression incorrectly detected "nothing to
561 - commit, working tree clean", instead of replaying the commits,
562 - which has been corrected.
460 + "git reset HEAD [<pathspec>]" did not reset an empty file that was
461 + added with the intent-to-add bit.
462
564 - Will merge to 'master'.
463 + Expecting a reroll.
464
465
567 -* as/t7812-missing-redirects-fix (2019-12-01) 2 commits
568 - (merged to 'next' on 2019-12-05 at aa89a7945f)
569 - + t7812: expect failure for grep -i with invalid UTF-8 data
570 - + t7812: add missing redirects
466 +* jn/unknown-index-extensions (2018-11-21) 2 commits
467 + - index: offer advice for unknown index extensions
468 + - index: do not warn about unrecognized extensions
469
572 - Test fix.
470 + A bit too alarming warning given when unknown index extensions
471 + exist is getting revamped.
472
574 - Will merge to 'master'.
473 + Expecting a reroll.
474
475
577 -* jk/perf-wo-git-dot-pm (2019-11-27) 1 commit
578 - (merged to 'next' on 2019-12-05 at 6d9e3930ec)
579 - + t/perf: don't depend on Git.pm
476 +* jc/format-patch-delay-message-id (2019-04-05) 1 commit
477 + - format-patch: move message-id and related headers to the end
478
581 - Test cleanup.
479 + The location "git format-patch --thread" adds the Message-Id:
480 + header in the series of header fields has been moved down, which
481 + may help working around a suspected bug in GMail MSA, reported at
482 + <CAHk-=whP1stFZNAaJiMi5eZ9rj0MRt20Y_yHVczZPH+O01d+sA@mail.gmail.com>
483
583 - Will merge to 'master'.
484 + Waiting for feedback to see if it truly helps.
485 + Needs tests.
486 +
487 +
488 +* js/protocol-advertise-multi (2018-12-28) 1 commit
489 + - protocol: advertise multiple supported versions
490 +
491 + The transport layer has been updated so that the protocol version
492 + used can be negotiated between the parties, by the initiator
493 + listing the protocol versions it is willing to talk, and the other
494 + side choosing from one of them.
495
496 + Expecting a reroll.
497 + cf. <CANq=j3u-zdb_FvNJGPCmygNMScseav63GhVvBX3NcVS4f7TejA@mail.gmail.com>
498
586 -* jt/clone-recursesub-ref-advise (2019-12-03) 2 commits
587 - (merged to 'next' on 2019-12-05 at fc071dddfe)
588 - + submodule--helper: advise on fatal alternate error
589 - + Doc: explain submodule.alternateErrorStrategy
499
591 - The interaction between "git clone --recurse-submodules" and
592 - alternate object store was ill-designed. The documentation and
593 - code have been taught to make more clear recommendations when the
594 - users see failures.
500 +* mk/use-size-t-in-zlib (2018-10-15) 1 commit
501 + - zlib.c: use size_t for size
502
596 - Will merge to 'master'.
503 + The wrapper to call into zlib followed our long tradition to use
504 + "unsigned long" for sizes of regions in memory, which have been
505 + updated to use "size_t".
506
507 +--------------------------------------------------
508 +[Cooking]
509
510 * ra/t5150-depends-on-perl (2019-11-27) 1 commit
511 . t5150: skip request-pull test if Perl is disabled
@@ -605,66 +516,127 @@ of the repositories listed at
516 Redo.
517
518
608 -* rs/simplify-prepare-cmd (2019-11-27) 1 commit
609 - (merged to 'next' on 2019-12-02 at 12e1a9e935)
610 - + run-command: use prepare_git_cmd() in prepare_cmd()
519 +* am/pathspec-f-f-checkout (2019-12-04) 7 commits
520 + (merged to 'next' on 2019-12-10 at 6b018bd997)
521 + + checkout, restore: support the --pathspec-from-file option
522 + + doc: restore: synchronize <pathspec> description
523 + + doc: checkout: synchronize <pathspec> description
524 + + doc: checkout: fix broken text reference
525 + + doc: checkout: remove duplicate synopsis
526 + + add: support the --pathspec-from-file option
527 + + cmd_add: prepare for next patch
528
612 - Code cleanup.
529 + A few more commands learned the "--pathspec-from-file" command line
530 + option.
531
532 Will merge to 'master'.
533
534
617 -* rs/test-cleanup (2019-11-30) 7 commits
618 - (merged to 'next' on 2019-12-02 at eabc2e30f5)
619 - + t7811: don't create unused file
620 - + t9300: don't create unused file
621 - + test: use test_must_be_empty F instead of test_cmp empty F
622 - + test: use test_must_be_empty F instead of test -z $(cat F)
623 - + t1400: use test_must_be_empty
624 - + t1410: use test_line_count
625 - + t1512: use test_line_count
535 +* dl/rebase-with-autobase (2019-12-05) 5 commits
536 + (merged to 'next' on 2019-12-06 at 2d72b8cffe)
537 + + rebase: fix format.useAutoBase breakage
538 + + format-patch: teach --no-base
539 + + t4014: use test_config()
540 + + format-patch: fix indentation
541 + + t3400: demonstrate failure with format.useAutoBase
542
627 - Test cleanup.
543 + "git rebase" did not work well when format.useAutoBase
544 + configuration variable is set, which has been corrected.
545
546 Will merge to 'master'.
547
548
632 -* rs/use-skip-prefix-more (2019-11-27) 5 commits
633 - (merged to 'next' on 2019-12-02 at a2124db23e)
634 - + name-rev: use skip_prefix() instead of starts_with()
635 - + push: use skip_prefix() instead of starts_with()
636 - + shell: use skip_prefix() instead of starts_with()
637 - + fmt-merge-msg: use skip_prefix() instead of starts_with()
638 - + fetch: use skip_prefix() instead of starts_with()
549 +* es/pathspec-f-f-grep (2019-12-06) 1 commit
550 + - grep: support the --pathspec-from-file option
551
640 - Code cleanup.
552 + "git grep" learned the "--pathspec-from-file" command line
553 + option.
554
642 - Will merge to 'master'.
555 + Waiting for review responses.
556 + cf. <20191204203911.237056-1-emilyshaffer@google.com>
557
558
645 -* sg/test-squelch-noise-in-commit-bulk (2019-11-27) 1 commit
646 - (merged to 'next' on 2019-12-05 at 7819efee07)
647 - + test-lib-functions: suppress a 'git rev-parse' error in 'test_commit_bulk'
559 +* rs/xdiff-ignore-ws-w-func-context (2019-12-05) 1 commit
560 + (merged to 'next' on 2019-12-06 at e0522318ac)
561 + + xdiff: unignore changes in function context
562
649 - Code cleanup.
563 + The "diff" machinery learned not to lose added/removed blank lines
564 + in the context when --ignore-blank-lines and --function-context are
565 + used at the same time.
566
567 Will merge to 'master'.
568
569
654 -* ag/sequencer-continue-leakfix (2019-11-30) 1 commit
655 - (merged to 'next' on 2019-12-05 at 923a6a7ab6)
656 - + sequencer: fix a memory leak in sequencer_continue()
570 +* ag/edit-todo-drop-check (2019-12-06) 2 commits
571 + - rebase-interactive: warn if commit is dropped with `rebase --edit-todo'
572 + - sequencer: move check_todo_list_from_file() to rebase-interactive.c
573 + (this branch uses ag/sequencer-todo-updates.)
574
658 - Leakfix.
575 + Allow the rebase.missingCommitsCheck configuration to kick in when
576 + "rebase --edit-todo" and "rebase --continue" restarts the procedure.
577
660 - Will merge to 'master'.
578 + Broken.
579 + cf. <64aa4049-ee35-df4c-1e6c-80707f4f9070@gmail.com>
580
581
663 -* bc/t9001-zsh-in-posix-emulation-mode (2019-11-30) 1 commit
664 - (merged to 'next' on 2019-12-05 at d0ce4bcc90)
665 - + t9001: avoid including non-trailing NUL bytes in variables
582 +* ds/sparse-cone (2019-11-22) 19 commits
583 + - sparse-checkout: check for dirty status
584 + - sparse-checkout: update working directory in-process for 'init'
585 + - sparse-checkout: cone mode should not interact with .gitignore
586 + - sparse-checkout: write using lockfile
587 + - sparse-checkout: use in-process update for disable subcommand
588 + - sparse-checkout: update working directory in-process
589 + - sparse-checkout: sanitize for nested folders
590 + - unpack-trees: add progress to clear_ce_flags()
591 + - unpack-trees: hash less in cone mode
592 + - sparse-checkout: init and set in cone mode
593 + - sparse-checkout: use hashmaps for cone patterns
594 + - sparse-checkout: add 'cone' mode
595 + - trace2: add region in clear_ce_flags
596 + - sparse-checkout: create 'disable' subcommand
597 + - sparse-checkout: add '--stdin' option to set subcommand
598 + - sparse-checkout: 'set' subcommand
599 + - clone: add --sparse mode
600 + - sparse-checkout: create 'init' subcommand
601 + - sparse-checkout: create builtin with 'list' subcommand
602
667 - Test portability fix.
603 + Management of sparsely checked-out working tree has gained a
604 + dedicated "sparse-checkout" command.
605 +
606 + Possibly wait for Szeder?
607 + cf. <bea26b66-ac52-8f0e-9557-c958db7be628@gmail.com>
608 +
609 +
610 +* dl/test-cleanup (2019-12-04) 26 commits
611 + (merged to 'next' on 2019-12-06 at 9129e71939)
612 + + t7700: stop losing return codes of git commands
613 + + t7700: make references to SHA-1 generic
614 + + t7700: replace egrep with grep
615 + + t7700: consolidate code into test_has_duplicate_object()
616 + + t7700: consolidate code into test_no_missing_in_packs()
617 + + t7700: s/test -f/test_path_is_file/
618 + + t7700: move keywords onto their own line
619 + + t7700: remove spaces after redirect operators
620 + + t7700: drop redirections to /dev/null
621 + + t7501: stop losing return codes of git commands
622 + + t7501: remove spaces after redirect operators
623 + + t5703: stop losing return codes of git commands
624 + + t5703: simplify one-time-sed generation logic
625 + + t5317: use ! grep to check for no matching lines
626 + + t5317: stop losing return codes of git commands
627 + + t4138: stop losing return codes of git commands
628 + + t4015: use test_write_lines()
629 + + t4015: stop losing return codes of git commands
630 + + t3600: comment on inducing SIGPIPE in `git rm`
631 + + t3600: stop losing return codes of git commands
632 + + t3600: use test_line_count() where possible
633 + + t3301: stop losing return codes of git commands
634 + + t0090: stop losing return codes of git commands
635 + + t0014: remove git command upstream of pipe
636 + + apply-one-time-sed.sh: modernize style
637 + + lib-bash.sh: move `then` onto its own line
638 +
639 + Test cleanup.
640
641 Will merge to 'master'.
642
@@ -692,110 +664,35 @@ of the repositories listed at
664 Will merge to 'master'.
665
666
695 -* em/test-skip-regex-illseq (2019-11-30) 1 commit
696 - (merged to 'next' on 2019-12-05 at 85c7940aeb)
697 - + t4210: skip i18n tests that don't work on FreeBSD
698 -
699 - Test portability fix.
700 -
701 - Will merge to 'master'.
702 -
703 -
704 -* hi/gpg-use-check-signature (2019-11-30) 1 commit
705 - (merged to 'next' on 2019-12-05 at 35fc8e839a)
706 - + gpg-interface: prefer check_signature() for GPG verification
707 -
708 - Hide lower-level verify_signed-buffer() API as a pure helper to
709 - implement the public check_signature() function, in order to
710 - encourage new callers to use the correct and more strict
711 - validation.
712 -
713 - Will merge to 'master'.
714 -
715 -
716 -* hi/grep-do-not-return-void (2019-11-30) 1 commit
717 - (merged to 'next' on 2019-12-02 at 4409c73cfa)
718 - + grep: don't return an expression from pcre2_free()
719 -
720 - Code cleanup.
721 -
722 - Will merge to 'master'.
723 -
724 -
725 -* jk/lore-is-the-archive (2019-11-30) 2 commits
726 - (merged to 'next' on 2019-12-02 at 603a2b0105)
727 - + doc: replace public-inbox links with lore.kernel.org
728 - + doc: recommend lore.kernel.org over public-inbox.org
729 - (this branch is used by dl/lore-is-the-archive.)
730 -
731 - Doc update for the mailing list archiving and nntp service.
732 -
733 - Will merge to 'master'.
734 -
735 -
736 -* jk/send-pack-check-negative-with-quick (2019-11-30) 1 commit
737 - (merged to 'next' on 2019-12-02 at 2b01214601)
738 - + send-pack: use OBJECT_INFO_QUICK to check negative objects
739 -
740 - Performance tweak on "git push" into a repository with many refs
741 - that point at objects we have never heard of.
742 -
743 - Will merge to 'master'.
744 -
745 -
746 -* sg/osx-force-gcc-9 (2019-11-29) 1 commit
747 - (merged to 'next' on 2019-12-02 at 4916f80e5e)
748 - + ci: build Git with GCC 9 in the 'osx-gcc' build job
749 -
750 - TravisCI update.
751 -
752 - Will merge to 'master'.
753 -
754 -
755 -* dl/pretty-reference (2019-11-20) 11 commits
756 - (merged to 'next' on 2019-12-05 at 0972133ad2)
757 - + SubmittingPatches: use `--pretty=reference`
758 - + pretty: implement 'reference' format
759 - + pretty: add struct cmt_fmt_map::default_date_mode_type
760 - + pretty: provide short date format
761 - + t4205: cover `git log --reflog -z` blindspot
762 - + pretty.c: inline initalize format_context
763 - + revision: make get_revision_mark() return const pointer
764 - + completion: complete `tformat:` pretty format
765 - + SubmittingPatches: remove dq from commit reference
766 - + pretty-formats.txt: use generic terms for hash
767 - + SubmittingPatches: use generic terms for hash
768 -
769 - "git log" family learned "--pretty=ref" that gives the name of a
770 - commit in the format that is often used to refer to it in log
771 - messages.
667 +* hw/doc-in-header (2019-11-18) 20 commits
668 + (merged to 'next' on 2019-12-10 at 75ae310f9a)
669 + + trace2: move doc to trace2.h
670 + + submodule-config: move doc to submodule-config.h
671 + + tree-walk: move doc to tree-walk.h
672 + + trace: move doc to trace.h
673 + + run-command: move doc to run-command.h
674 + + parse-options: add link to doc file in parse-options.h
675 + + credential: move doc to credential.h
676 + + argv-array: move doc to argv-array.h
677 + + cache: move doc to cache.h
678 + + sigchain: move doc to sigchain.h
679 + + pathspec: move doc to pathspec.h
680 + + revision: move doc to revision.h
681 + + attr: move doc to attr.h
682 + + refs: move doc to refs.h
683 + + remote: move doc to remote.h and refspec.h
684 + + sha1-array: move doc to sha1-array.h
685 + + merge: move doc to ll-merge.h
686 + + graph: move doc to graph.h and graph.c
687 + + dir: move doc to dir.h
688 + + diff: move doc to diff.h and diffcore.h
689 +
690 + Move material from Documentation/technical/api-*.txt to header
691 + files.
692
693 Will merge to 'master'.
694
695
776 -* hw/doc-in-header (2019-11-18) 20 commits
777 - - trace2: move doc to trace2.h
778 - - submodule-config: move doc to submodule-config.h
779 - - tree-walk: move doc to tree-walk.h
780 - - trace: move doc to trace.h
781 - - run-command: move doc to run-command.h
782 - - parse-options: add link to doc file in parse-options.h
783 - - credential: move doc to credential.h
784 - - argv-array: move doc to argv-array.h
785 - - cache: move doc to cache.h
786 - - sigchain: move doc to sigchain.h
787 - - pathspec: move doc to pathspec.h
788 - - revision: move doc to revision.h
789 - - attr: move doc to attr.h
790 - - refs: move doc to refs.h
791 - - remote: move doc to remote.h and refspec.h
792 - - sha1-array: move doc to sha1-array.h
793 - - merge: move doc to ll-merge.h
794 - - graph: move doc to graph.h and graph.c
795 - - dir: move doc to dir.h
796 - - diff: move doc to diff.h and diffcore.h
797 -
798 -
696 * js/builtin-add-i-cmds (2019-12-01) 9 commits
697 (merged to 'next' on 2019-12-05 at 30cfe5c15d)
698 + built-in add -i: offer the `quit` command
@@ -807,6 +704,7 @@ of the repositories listed at
704 + built-in add -i: prepare for multi-selection commands
705 + built-in add -i: allow filtering the modified files list
706 + add-interactive: make sure to release `rev.prune_data`
707 + (this branch is used by js/add-i-a-bit-more-tests.)
708
709 "git add -i" that is getting rewritten in C has been extended to
710 cover subcommands other than the "patch".
@@ -814,30 +712,10 @@ of the repositories listed at
712 Will merge to 'master'.
713
714
817 -* ma/config-bool-valex (2019-11-14) 8 commits
818 - - builtin/config: die if "value_regex" doesn't canonicalize as boolean
819 - - builtin/config: warn if "value_regex" doesn't canonicalize as boolean
820 - - builtin/config: canonicalize "value_regex" with `--type=bool-or-int`
821 - - builtin/config: canonicalize "value_regex" with `--type=bool`
822 - - builtin/config: collect "value_regexp" data in a struct
823 - - builtin/config: extract `handle_value_regex()` from `get_value()`
824 - - t1300: modernize part of script
825 - - config: make `git_parse_maybe_bool_text()` public
826 -
827 - "git config" can be told to affect the existing entries that
828 - "match" the given value via its value_regex argument. It learned
829 - to normalize the value set in the configuration and the value given
830 - from the command line before computing they "match", e.g. "true" in
831 - the configuration file can now match with "yes" given from the
832 - command line.
833 -
834 - Needs a bit more work?
835 - cf. <CAN0heSrtwi9V607vBX9PMSfNLQ8iGcno6_iGuR4Fs8ndGxqh8A@mail.gmail.com>
836 -
837 -
838 -* sg/name-rev-wo-recursion (2019-11-13) 13 commits
715 +* sg/name-rev-wo-recursion (2019-12-09) 14 commits
716 - name-rev: cleanup name_ref()
717 - name-rev: eliminate recursion in name_rev()
718 + - name-rev: use 'name->tip_name' instead of 'tip_name'
719 - name-rev: drop name_rev()'s 'generation' and 'distance' parameters
720 - name-rev: restructure creating/updating 'struct rev_name' instances
721 - name-rev: restructure parsing commits and applying date cutoff
@@ -852,52 +730,8 @@ of the repositories listed at
730
731 Redo "git name-rev" to avoid recursive calls.
732
855 - Looks more-or-less ready for 'next'?
856 - cf. <20191127181322.171734-1-jonathantanmy@google.com>
857 - cf. <20191127180210.168901-1-jonathantanmy@google.com>
858 - cf. <20191112103821.30265-1-szeder.dev@gmail.com>
859 -
860 -
861 -* am/pathspec-from-file (2019-11-20) 6 commits
862 - (merged to 'next' on 2019-11-27 at ee131b80fb)
863 - + commit: support the --pathspec-from-file option
864 - + doc: commit: synchronize <pathspec> description
865 - + reset: support the `--pathspec-from-file` option
866 - + doc: reset: synchronize <pathspec> description
867 - + pathspec: add new function to parse file
868 - + parse-options.h: add new options `--pathspec-from-file`, `--pathspec-file-nul`
869 - (this branch is used by am/pathspec-f-f-checkout and es/pathspec-f-f-grep.)
870 -
871 - A few commands learned to take the pathspec from the
872 - standard input or a named file, instead of taking it as the command
873 - line arguments.
874 -
875 - Will merge to 'master'.
876 -
877 -
878 -* ra/rebase-i-more-options (2019-11-25) 7 commits
879 - (merged to 'next' on 2019-11-27 at e8a6d1e281)
880 - + rebase -i: finishing touches to --reset-author-date
881 - + rebase: add --reset-author-date
882 - + rebase -i: support --ignore-date
883 - + sequencer: rename amend_author to author_to_rename
884 - + rebase -i: support --committer-date-is-author-date
885 - + sequencer: allow callers of read_author_script() to ignore fields
886 - + rebase -i: add --ignore-whitespace flag
887 -
888 - "git rebase -i" learned a few options that are known by "git
889 - rebase" proper.
890 -
891 - Will merge to 'master'.
892 -
893 -
894 -* dl/submodule-set-url (2019-10-30) 1 commit
895 - (merged to 'next' on 2019-12-05 at a164eccad1)
896 - + submodule: teach set-url subcommand
897 -
898 - "git submodule" learned a subcommand "set-url".
899 -
900 - Will merge to 'master'.
733 + Will merge to 'next'.
734 + cf. <20191209115258.9281-1-szeder.dev@gmail.com>
735
736
737 * ag/sequencer-todo-updates (2019-11-25) 5 commits
@@ -932,3 +766,17 @@ of the repositories listed at
766
767 Hold. There is an update to these patches that currently are on 'next'.
768 cf. <20191115180319.113991-1-jonathantanmy@google.com>
769 +
770 +--------------------------------------------------
771 +[Discarded]
772 +
773 +* js/advise-rebase-skip (2019-10-23) 3 commits
774 + . commit: give correct advice for empty commit during a rebase
775 + . sequencer: export the function to get the path of `.git/rebase-merge/`
776 + . cherry-pick: add test for `--skip` advice in `git commit`
777 +
778 + The logic used in "git commit" to give hints and errors depending
779 + on what operation was in progress learned to distinguish rebase and
780 + cherry-pick better.
781 +
782 + Superseded by pw/advise-rebase-skip