What's cooking (2019/04 #04)

Junio C Hamano committed Apr 22, 2019 at 15:10 UTC a0f9e1463c901f9b2b601a79c2209ae82ba728ac
1 file changed +432 -572
whats-cooking.txt
+432 -572
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Apr 2019, #03; Tue, 16)
4 -X-master-at: ffac537e6cbbf934b08745a378932722df287a53
5 -X-next-at: eec228f530d9d313a19229f23f7408717d5bfe04
3 +Subject: What's cooking in git.git (Apr 2019, #04; Mon, 22)
4 +X-master-at: 14c0f8d3ab6c36672189cd2dd217f4617d12ccba
5 +X-next-at: 7a2cf3c8d2cfe6df8d13e6d8a2e2431b74241674
6
7 -What's cooking in git.git (Apr 2019, #03; Tue, 16)
7 +What's cooking in git.git (Apr 2019, #04; Mon, 22)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -12,10 +12,6 @@ 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 -Sorry for keeping a rather huge backlog for the past few weeks. As
16 -the result, tonight's pushout is a rather large one, merging 30+
17 -topics to 'next' and a dozen or so to 'master'.
18 -
15 You can find the changes described here in the integration branches
16 of the repositories listed at
17
@@ -24,395 +20,289 @@ of the repositories listed at
20 --------------------------------------------------
21 [Graduated to "master"]
22
27 -* ab/doc-misc-typofixes (2019-03-18) 1 commit
28 - (merged to 'next' on 2019-04-10 at 06d19acd7e)
29 - + doc: fix typos in man pages
30 -
31 - Typofixes.
32 -
33 -
34 -* ab/drop-scripted-rebase (2019-03-20) 1 commit
35 - (merged to 'next' on 2019-04-10 at ff8abf36ae)
36 - + rebase: remove the rebase.useBuiltin setting
37 -
38 - Retire scripted "git rebase" implementation.
39 -
40 -
41 -* bb/unicode-12 (2019-03-22) 1 commit
42 - (merged to 'next' on 2019-04-10 at b0dfa1001e)
43 - + unicode: update the width tables to Unicode 12
44 -
45 - Unicode update.
46 -
47 -
48 -* dl/subtree-limit-to-one-rev (2019-03-12) 1 commit
49 - (merged to 'next' on 2019-04-10 at 8631f869c5)
50 - + contrib/subtree: ensure only one rev is provided
51 -
52 - "git subtree" (in contrib/) update.
53 -
54 -
55 -* jc/format-patch-error-check (2019-02-22) 2 commits
56 - (merged to 'next' on 2019-04-10 at 6ca358b7ef)
57 - + format-patch: notice failure to open cover letter for writing
58 - + builtin/log: downcase the beginning of error messages
59 - (this branch is used by jc/format-patch-noclobber.)
60 -
61 - "git format-patch" used overwrite an existing patch/cover-letter
62 - file. A new "--no-clobber" option stops it.
63 -
64 -
65 -* jh/midx-verify-too-many-packs (2019-03-22) 4 commits
66 - (merged to 'next' on 2019-04-10 at 2ac6c933d4)
67 - + midx: during verify group objects by packfile to speed verification
68 - + midx: add progress indicators in multi-pack-index verify
69 - + trace2:data: add trace2 data to midx
70 - + progress: add sparse mode to force 100% complete message
71 -
72 - "git multi-pack-index verify" did not scale well with the number of
73 - packfiles, which is being improved.
74 -
75 -
76 -* jk/http-walker-status-fix (2019-03-24) 3 commits
77 - (merged to 'next' on 2019-04-10 at d49336dd3b)
78 - + http: use normalize_curl_result() instead of manual conversion
79 - + http: normalize curl results for dumb loose and alternates fetches
80 - + http: factor out curl result code normalization
81 -
82 - dumb-http walker has been updated to share more error recovery
83 - strategy with the normal codepath.
84 -
85 -
86 -* jk/perf-lib-tee (2019-03-18) 1 commit
87 - (merged to 'next' on 2019-04-10 at de18327138)
88 - + perf-lib.sh: rely on test-lib.sh for --tee handling
89 -
90 - Code cleanup in the test framework.
23 +* cb/doco-mono (2019-03-13) 2 commits
24 + (merged to 'next' on 2019-04-16 at 91f5d71452)
25 + + doc: format pathnames and URLs as monospace.
26 + + doc/CodingGuidelines: URLs and paths as monospace
27
28 + Clean-up markup in the documentation suite.
29
93 -* jk/refs-double-abort (2019-03-22) 2 commits
94 - (merged to 'next' on 2019-04-10 at e160d4a5b0)
95 - + refs/files-backend: don't look at an aborted transaction
96 - + refs/files-backend: handle packed transaction prepare failure
30
98 - A corner case bug in the refs API has been corrected.
31 +* da/smerge (2019-04-04) 2 commits
32 + (merged to 'next' on 2019-04-16 at 80bf79fee1)
33 + + contrib/completion: add smerge to the mergetool completion candidates
34 + + mergetools: add support for smerge (Sublime Merge)
35
36 + "git mergetool" learned to offer Sublime Merge (smerge) as one of
37 + its backends.
38
101 -* js/anonymize-remote-curl-diag (2019-03-05) 1 commit
102 - (merged to 'next' on 2019-04-10 at 137a191021)
103 - + curl: anonymize URLs in error messages and warnings
104 - (this branch is used by js/remote-curl-i18n.)
39
106 - remote-http transport did not anonymize URLs reported in its error
107 - messages at places.
40 +* dl/flex-str-cocci (2019-04-04) 2 commits
41 + (merged to 'next' on 2019-04-16 at e5cb2927b3)
42 + + cocci: FLEX_ALLOC_MEM to FLEX_ALLOC_STR
43 + + midx.c: convert FLEX_ALLOC_MEM to FLEX_ALLOC_STR
44
45 + Code clean-up.
46
110 -* js/get-short-oid-drop-cache (2019-03-14) 4 commits
111 - (merged to 'next' on 2019-04-10 at 5c77e39722)
112 - + get_oid(): when an object was not found, try harder
113 - + sequencer: move stale comment into correct location
114 - + sequencer: improve error message when an OID could not be parsed
115 - + rebase -i: demonstrate obscure loose object cache bug
47
117 - A corner-case object name ambiguity while the sequencer machinery
118 - is working (e.g. "rebase -i -x") has been fixed.
48 +* js/check-docs-exe (2019-04-01) 5 commits
49 + (merged to 'next' on 2019-04-16 at 98570caa8c)
50 + + check-docs: fix for setups where executables have an extension
51 + + check-docs: do not expect guide pages to correspond to commands
52 + + check-docs: really look at the documented commands again
53 + + docs: do not document the `git remote-testgit` command
54 + + docs: move gitremote-helpers into section 7
55 + (this branch is used by js/misc-doc-fixes.)
56
57 + Dev support update.
58
121 -* js/init-db-update-for-mingw (2019-03-12) 1 commit
122 - (merged to 'next' on 2019-04-10 at 1d5768849f)
123 - + mingw: respect core.hidedotfiles = false in git-init again
59
125 - "git init" forgot to read platform-specific repository
126 - configuration, which made Windows port to ignore settings of
127 - core.hidedotfiles, for example.
60 +* js/spell-out-options-in-tests (2019-04-15) 8 commits
61 + (merged to 'next' on 2019-04-16 at 1cfd7698b6)
62 + + tests: disallow the use of abbreviated options (by default)
63 + + tests (pack-objects): use the full, unabbreviated `--revs` option
64 + + tests (status): spell out the `--find-renames` option in full
65 + + tests (push): do not abbreviate the `--follow-tags` option
66 + + t5531: avoid using an abbreviated option
67 + + t7810: do not abbreviate `--no-exclude-standard` nor `--invert-match`
68 + + tests (rebase): spell out the `--force-rebase` option
69 + + tests (rebase): spell out the `--keep-empty` option
70 + (this branch is tangled with dl/rebase-i-keep-base.)
71
72 + The tests have been updated not to rely on the abbreviated option
73 + names the parse-options API offers, to protect us from an
74 + abbreviated form of an option that used to be unique within the
75 + command getting non-unique when a new option that share the same
76 + prefix is added.
77
130 -* js/remote-curl-i18n (2019-03-06) 1 commit
131 - (merged to 'next' on 2019-04-10 at 4814acf6c8)
132 - + remote-curl: mark all error messages for translation
133 - (this branch uses js/anonymize-remote-curl-diag.)
78
135 - Error messages given from the http transport have been updated so
136 - that they can be localized.
79 +* js/stash-in-c-pathspec-fix (2019-03-12) 3 commits
80 + (merged to 'next' on 2019-03-20 at e81d08af7a)
81 + + stash: pass pathspec as pointer
82 + + built-in stash: handle :(glob) pathspecs again
83 + + legacy stash: fix "rudimentary backport of -q"
84 + (this branch uses ps/stash-in-c; is tangled with tb/stash-in-c-unused-param-fix and tg/stash-in-c-show-default-to-p-fix.)
85
86 + Further fixes to "git stash" reimplemented in C.
87
139 -* jt/t5551-protocol-v2-does-not-have-half-auth (2019-03-24) 1 commit
140 - (merged to 'next' on 2019-04-10 at 86ca3ebf33)
141 - + t5551: mark half-auth no-op fetch test as v0-only
88
143 - Test update.
89 +* nd/include-if-wildmatch (2019-04-01) 1 commit
90 + (merged to 'next' on 2019-04-16 at db8b6a578a)
91 + + config: correct '**' matching in includeIf patterns
92
93 + A buglet in configuration parser has been fixed.
94
146 -* jt/test-protocol-version (2019-03-07) 8 commits
147 - (merged to 'next' on 2019-03-20 at 0c97907bdb)
148 - + t5552: compensate for v2 filtering ref adv.
149 - + tests: fix protocol version for overspecifications
150 - + t5700: only run with protocol version 1
151 - + t5512: compensate for v0 only sending HEAD symrefs
152 - + t5503: fix overspecification of trace expectation
153 - + tests: always test fetch of unreachable with v0
154 - + t5601: check ssh command only with protocol v0
155 - + tests: define GIT_TEST_PROTOCOL_VERSION
156 - (this branch is used by jt/fetch-no-update-shallow-in-proto-v2.)
95
158 - Help developers by making it easier to run most of the tests under
159 - different versions of over-the-wire protocols.
96 +* nd/interpret-trailers-docfix (2019-04-01) 1 commit
97 + (merged to 'next' on 2019-04-16 at 6a57abc7e6)
98 + + interpret-trailers.txt: start the desc line with a capital letter
99
100 + Doc update.
101
162 -* ma/asciidoctor-fixes (2019-03-11) 3 commits
163 - (merged to 'next' on 2019-04-10 at 41a7f51003)
164 - + asciidoctor-extensions: fix spurious space after linkgit
165 - + Documentation/Makefile: add missing dependency on asciidoctor-extensions
166 - + Documentation/Makefile: add missing xsl dependencies for manpages
102
168 - Build fix around use of asciidoctor instead of asciidoc
103 +* nd/read-tree-reset-doc (2019-04-02) 1 commit
104 + (merged to 'next' on 2019-04-16 at f2bef91774)
105 + + read-tree.txt: clarify --reset and worktree changes
106
107 + The documentation for "git read-tree --reset -u" has been updated.
108
171 -* ma/asciidoctor-fixes-more (2019-03-07) 5 commits
172 - (merged to 'next' on 2019-04-10 at 77cf886e7e)
173 - + Documentation: turn middle-of-line tabs into spaces
174 - + git-svn.txt: drop escaping '\' that ends up being rendered
175 - + git.txt: remove empty line before list continuation
176 - + config/fsck.txt: avoid starting line with dash
177 - + config/diff.txt: drop spurious backtick
109
179 - Documentation mark-up fixes.
110 +* ps/stash-in-c (2019-03-07) 29 commits
111 + (merged to 'next' on 2019-03-11 at f568e3be72)
112 + + tests: add a special setup where stash.useBuiltin is off
113 + + stash: optionally use the scripted version again
114 + + stash: add back the original, scripted `git stash`
115 + + stash: convert `stash--helper.c` into `stash.c`
116 + + stash: replace all `write-tree` child processes with API calls
117 + + stash: optimize `get_untracked_files()` and `check_changes()`
118 + + stash: convert save to builtin
119 + + stash: make push -q quiet
120 + + stash: convert push to builtin
121 + + stash: convert create to builtin
122 + + stash: convert store to builtin
123 + + stash: convert show to builtin
124 + + stash: convert list to builtin
125 + + stash: convert pop to builtin
126 + + stash: convert branch to builtin
127 + + stash: convert drop and clear to builtin
128 + + stash: convert apply to builtin
129 + + stash: mention options in `show` synopsis
130 + + stash: add tests for `git stash show` config
131 + + stash: rename test cases to be more descriptive
132 + + t3903: add test for --intent-to-add file
133 + + t3903: modernize style
134 + + stash: improve option parsing test coverage
135 + + ident: don't require calling prepare_fallback_ident first
136 + + ident: add the ability to provide a "fallback identity"
137 + + strbuf.c: add `strbuf_insertf()` and `strbuf_vinsertf()`
138 + + strbuf.c: add `strbuf_join_argv()`
139 + + sha1-name.c: add `get_oidf()` which acts like `get_oid()`
140 + + Merge branch 'sd/stash-wo-user-name'
141 + (this branch is used by js/stash-in-c-pathspec-fix, tb/stash-in-c-unused-param-fix and tg/stash-in-c-show-default-to-p-fix.)
142
143 + Originally merged to 'next' on 2019-03-07
144
182 -* ma/doc-diff-doc-vs-doctor-comparison (2019-03-18) 4 commits
183 - (merged to 'next' on 2019-04-10 at af08a97ab9)
184 - + doc-diff: add `--cut-header-footer`
185 - + doc-diff: support diffing from/to AsciiDoc(tor)
186 - + doc-diff: let `render_tree()` take an explicit directory name
187 - + Doc: auto-detect changed build flags
145 + "git stash" rewritten in C.
146
189 - Dev support update to make it easier to compare two formatted
190 - results from our documentation.
191 - cf. <20190319031412.GC6173@sigill.intra.peff.net>
147
148 +* sg/asciidoctor-in-ci (2019-04-05) 6 commits
149 + (merged to 'next' on 2019-04-16 at efdf919c16)
150 + + ci: fix AsciiDoc/Asciidoctor stderr check in the documentation build job
151 + + ci: stick with Asciidoctor v1.5.8 for now
152 + + ci: install Asciidoctor in 'ci/install-dependencies.sh'
153 + + Documentation/technical/protocol-v2.txt: fix formatting
154 + + Documentation/technical/api-config.txt: fix formatting
155 + + Documentation/git-diff-tree.txt: fix formatting
156
194 -* mh/pack-protocol-doc-fix (2019-03-18) 1 commit
195 - (merged to 'next' on 2019-04-10 at 037673d71c)
196 - + fix pack protocol example client/server communication
157 + Update our support to format documentation in the CI environment,
158 + either with AsciiDoc ro Asciidoctor.
159
198 - Docfix.
160
161 +* tb/stash-in-c-unused-param-fix (2019-03-11) 1 commit
162 + (merged to 'next' on 2019-03-20 at 5ccac5f80d)
163 + + stash: drop unused parameter
164 + (this branch uses ps/stash-in-c; is tangled with js/stash-in-c-pathspec-fix and tg/stash-in-c-show-default-to-p-fix.)
165
201 -* nd/checkout-f-while-conflicted-fix (2019-03-21) 1 commit
202 - (merged to 'next' on 2019-04-10 at 1afc977435)
203 - + unpack-trees: fix oneway_merge accidentally carry over stage index
166 + Code clean-up.
167
205 - "git checkout -f <branch>" while the index has an unmerged path
206 - incorrectly left some paths in an unmerged state, which has been
207 - corrected.
168
169 +* tg/stash-in-c-show-default-to-p-fix (2019-03-21) 1 commit
170 + (merged to 'next' on 2019-04-10 at 9489a31a36)
171 + + stash: setup default diff output format if necessary
172 + (this branch uses ps/stash-in-c; is tangled with js/stash-in-c-pathspec-fix and tb/stash-in-c-unused-param-fix.)
173
210 -* nd/checkout-m-doc-update (2019-03-21) 1 commit
211 - (merged to 'next' on 2019-04-10 at cdda4e833e)
212 - + checkout.txt: note about losing staged changes with --merge
213 -
214 -
215 -* nd/diff-parseopt-3 (2019-03-07) 20 commits
216 - (merged to 'next' on 2019-03-20 at ee79d4924b)
217 - + diff-parseopt: convert --submodule
218 - + diff-parseopt: convert --ignore-submodules
219 - + diff-parseopt: convert --textconv
220 - + diff-parseopt: convert --ext-diff
221 - + diff-parseopt: convert --quiet
222 - + diff-parseopt: convert --exit-code
223 - + diff-parseopt: convert --color-words
224 - + diff-parseopt: convert --word-diff-regex
225 - + diff-parseopt: convert --word-diff
226 - + diff-parseopt: convert --[no-]color
227 - + diff-parseopt: convert --[no-]follow
228 - + diff-parseopt: convert -R
229 - + diff-parseopt: convert -a|--text
230 - + diff-parseopt: convert --full-index
231 - + diff-parseopt: convert --binary
232 - + diff-parseopt: convert --anchored
233 - + diff-parseopt: convert --diff-algorithm
234 - + diff-parseopt: convert --histogram
235 - + diff-parseopt: convert --patience
236 - + diff-parseopt: convert --[no-]indent-heuristic
237 - (this branch is used by nd/diff-parseopt-4.)
238 -
239 - Third batch to teach the diff machinery to use the parse-options
240 - API.
174 + A regression fix.
175
176
243 -* pw/rerere-autoupdate (2019-03-18) 2 commits
244 - (merged to 'next' on 2019-04-10 at cf79e86682)
245 - + merge: tweak --rerere-autoupdate documentation
246 - + am/cherry-pick/rebase/revert: document --rerere-autoupdate
177 +* tz/asciidoctor-fixes (2019-04-01) 2 commits
178 + (merged to 'next' on 2019-04-16 at 0cb17f579b)
179 + + Documentation/git-status: fix titles in porcelain v2 section
180 + + Documentation/rev-list-options: wrap --date=<format> block with "--"
181
182 Doc updates.
183
250 -
251 -* sg/t5318-cleanup (2019-03-24) 1 commit
252 - (merged to 'next' on 2019-04-10 at 787b1b5073)
253 - + t5318-commit-graph: remove unused variable
254 -
255 - Code cleanup.
256 -
257 -
258 -* tb/trace2-va-list-fix (2019-03-20) 1 commit
259 - (merged to 'next' on 2019-04-10 at 94fe0f66d8)
260 - + trace2: NULL is not allowed for va_list
261 -
262 - Fix some code that passed a NULL when a va_list was expected.
263 -
264 -
265 -* tg/glossary-overlay (2019-03-18) 1 commit
266 - (merged to 'next' on 2019-04-10 at f5415c65cc)
267 - + glossary: add definition for overlay
268 -
269 - Doc update.
270 -
271 -
272 -* tz/completion (2019-03-21) 4 commits
273 - (merged to 'next' on 2019-04-10 at a26ec8420f)
274 - + completion: use __git when calling --list-cmds
275 - + completion: fix multiple command removals
276 - + t9902: test multiple removals via completion.commands
277 - + git: read local config in --list-cmds
278 -
279 - The completion helper code now pays attention to repository-local
280 - configuration (when available), which allows --list-cmds to honour
281 - a repository specific setting of completion.commands, for example.
282 - cf. <20190320180329.22280-1-tmz@pobox.com> (v3)
283 -
284 -
285 -* tz/t4038-bash-redirect-target-workaround (2019-03-18) 1 commit
286 - (merged to 'next' on 2019-04-10 at 9845123f19)
287 - + t4038-diff-combined: quote paths with whitespace
288 -
289 - Work-around extra warning from bash in our tests.
290 -
184 --------------------------------------------------
185 [New Topics]
186
294 -* hs/send-email-transferencoding-fix (2019-04-10) 1 commit
295 - - send-email: honor transferencoding config option again
187 +* es/first-contrib-tutorial (2019-04-21) 1 commit
188 + - documentation: add lab for first contribution
189
297 - Since "git send-email" learned to take 'auto' as the value for the
298 - transfer-encoding, it by mistake stopped honoring the values given
299 - to the configuration variables sendemail.transferencoding and/or
300 - sendemail.<ident>.transferencoding. Attempt to correct this.
190 + A WIP of a new tutorial targetting specifically aspiring git-core
191 + developers.
192
302 - Not quite.
303 - cf. <xmqq8swi34h5.fsf@gitster-ct.c.googlers.com>
193
194 +* pw/clean-sequencer-state-upon-final-commit (2019-04-17) 2 commits
195 + - fix cherry-pick/revert status after commit
196 + - commit/reset: try to clean up sequencer state
197
306 -* jk/xmalloc (2019-04-12) 4 commits
307 - - progress: use xmalloc/xcalloc
308 - - xdiff: use xmalloc/xrealloc
309 - - xdiff: use git-compat-util
310 - - test-prio-queue: use xmalloc
311 -
312 - The code is updated to check the result of memory allocation before
313 - it is used in more places, by using xmalloc and/or xcalloc calls.
198 + "git chery-pick" (and "revert" that shares the same runtime engine)
199 + that deals with multiple commits got confused when the final step
200 + gets stopped with a conflict and the user concluded the sequence
201 + with "git commit". Attempt to fix it by cleaning up the state
202 + files used by these commands in such a situation.
203
204 Will merge to 'next'.
205
206
318 -* js/untracked-cache-allocfix (2019-04-12) 1 commit
319 - - untracked cache: fix off-by-one
207 +* pw/sequencer-cleanup-with-signoff-x-fix (2019-04-18) 1 commit
208 + - sequencer: fix cleanup with --signoff and -x
209 + (this branch is used by dl/merge-cleanup-scissors-fix.)
210
321 - An underallocation in the code to read the untracked cache
322 - extension has been corrected.
211 + "git cherry-pick" run with the "-x" or the "--signoff" option used
212 + to (and more importantly, ought to) clean up the commit log message
213 + with the --cleanup=space option by default, but this has been
214 + broken since late 2017. This has been fixed.
215
216 Will merge to 'next'.
217
218
327 -* km/t3000-retitle (2019-04-12) 1 commit
328 - - t3000 (ls-files -o): widen description to reflect current tests
219 +* dr/ref-filter-push-track-fix (2019-04-18) 1 commit
220 + - ref-filter: use correct branch for %(push:track)
221
330 - A test update.
222 + %(push:track) token used in the --format option to "git
223 + for-each-ref" and friends was not showing the right branch, which
224 + has been fixed.
225
226 Will merge to 'next'.
227
228
335 -* bc/send-email-qp-cr (2019-04-14) 1 commit
336 - - send-email: default to quoted-printable when CR is present
229 +* cc/aix-has-fileno-as-a-macro (2019-04-19) 1 commit
230 + - Makefile: use fileno macro work around on AIX
231
338 - "git send-email" has been taught to use quoted-printable when the
339 - payload contains carriage-return. The use of the mechanism is in
340 - line with the design originally added the codepath that chooses QP
341 - when the payload has overly long lines.
232 + AIX shared the same build issues with other BSDs around fileno(fp),
233 + which has been corrected.
234
235 Will merge to 'next'.
236
237
346 -* jc/gettext-test-fix (2019-04-15) 1 commit
347 - - gettext tests: export the restored GIT_TEST_GETTEXT_POISON
238 +* jk/prune-optim (2019-04-19) 1 commit
239 + - t5304: add a test for pruning with bitmaps
240
349 - The GETTEXT_POISON test option has been quite broken ever since it
350 - was made runtime-tunable, which has been fixed.
241 + A follow-up test for an earlier "git prune" improvements.
242
243 Will merge to 'next'.
244
245
355 -* jk/fetch-reachability-error-fix (2019-04-15) 7 commits
356 - - fetch: do not consider peeled tags as advertised tips
357 - - remote.c: make singular free_ref() public
358 - - fetch: use free_refs()
359 - - pkt-line: prepare buffer before handling ERR packets
360 - - upload-pack: send ERR packet for non-tip objects
361 - - t5530: check protocol response for "not our ref"
362 - - t5516: drop ok=sigpipe from unreachable-want tests
246 +* jk/untracked-cache-more-fixes (2019-04-19) 3 commits
247 + - untracked-cache: simplify parsing by dropping "len"
248 + - untracked-cache: simplify parsing by dropping "next"
249 + - untracked-cache: be defensive about missing NULs in index
250 + (this branch uses js/untracked-cache-allocfix.)
251
364 - Code clean-up and a fix for "git fetch" by an explicit object name
365 - (as opposed to fetching refs by name).
252 + Code clean-up.
253
254 Will merge to 'next'.
255
256
370 -* jk/pack-objects-reports-num-objects-to-trace2 (2019-04-12) 1 commit
371 - - pack-objects: write objects packed to trace2
257 +* jt/submodule-repo-is-with-worktree (2019-04-21) 1 commit
258 + - worktree: update is_bare heuristics
259
373 - The "git pack-objects" command learned to report the number of
374 - objects it packed via the trace2 mechanism.
260 + The logic to tell if a Git repository has a working tree protects
261 + "git branch -D" from removing the branch that is currently checked
262 + out by mistake. The implementation of this logic was broken for
263 + repositories with unusual name, which unfortunately is the norm for
264 + submodules these days. This has been fixed.
265
266 Will merge to 'next'.
267
268
379 -* js/iso8895-test-on-apfs (2019-04-15) 1 commit
380 - - t9822: skip tests if file names cannot be ISO-8859-1 encoded
269 +* vk/autoconf-gettext (2019-04-19) 1 commit
270 + - autoconf: #include <libintl.h> when checking for gettext()
271
382 - Test fix on APFS that is incapable of store paths in Latin-1.
272 + The autoconf generated configure script failed to use the right
273 + gettext() implementations from -libintl by ignoring useless stub
274 + implementations shipped in some C library, which has been
275 + corrected.
276
277 Will merge to 'next'.
278
279
387 -* js/macos-gettext-build (2019-04-15) 1 commit
388 - - macOS: make sure that gettext is found
389 -
390 - Build with gettext breaks on recent macOS w/ Homebrew when
391 - /usr/local/bin is not on PATH, which has been corrected.
392 -
393 -
394 -* js/misc-doc-fixes (2019-04-15) 7 commits
395 - - test-tool: handle the `-C <directory>` option just like `git`
396 - - check-docs: do not bother checking for legacy scripts' documentation
397 - - SQUASH???
398 - - docs: exclude documentation for commands that have been excluded
399 - - check-docs: do not pretend that commands are listed which are excluded
400 - - help -a: do not list commands that are excluded from the build
401 - - remote-testgit: move it into the support directory for t5801
402 - (this branch uses js/check-docs-exe.)
280 +* dl/no-extern-in-func-decl (2019-04-21) 4 commits
281 + - cocci: prevent extern function declarations
282 + - *.[ch]: manually align parameter lists
283 + - *.[ch]: remove extern from function declarations using sed
284 + - *.[ch]: remove extern from function declarations using spatch
285
404 - "make check-docs", "git help -a", etc. did not account for cases
405 - where a particular build may deliberately omit some subcommands,
406 - which has been corrected.
286 + Mechanically and systematically drop "extern" from function
287 + declarlation.
288
408 - Under review.
289 + This is the kind of code churn patch that causes heavy conflicts
290 + with multiple topics in flight, which causes conflicts in slightly
291 + different shape when it gets merged with them in different order.
292 + I've queued it moderately early in 'pu' for the night, and I am
293 + reasonably sure the merge of the topic itself is OK, but I do not
294 + have much confidence in the resolutions of conflicts with other
295 + topics later merged to 'pu'.
296
297
411 -* nd/submodule-foreach-quiet (2019-04-15) 1 commit
412 - - submodule foreach: fix "<command> --quiet" not being respected
298 +* js/partial-clone-connectivity-check (2019-04-21) 1 commit
299 + - clone: do faster object check for partial clones
300
414 - "git submodule foreach <command> --quiet" did not pass the option
415 - down correctly, which has been corrected.
301 + During an initial "git clone --depth=..." partial clone, it is
302 + pointless to spend cycles for a large portion of the connectivity
303 + check that enumerates and skips promisor objects (which by
304 + definition is all objects fetched from the other side). This has
305 + been optimized out.
306
307 Will merge to 'next'.
308
@@ -500,47 +390,165 @@ of the repositories listed at
390 updated to use "size_t".
391
392
503 -* dl/remote-save-to-push (2018-12-11) 1 commit
504 - - remote: add --save-to-push option to git remote set-url
393 +* dl/remote-save-to-push (2018-12-11) 1 commit
394 + - remote: add --save-to-push option to git remote set-url
395 +
396 + "git remote set-url" learned a new option that moves existing value
397 + of the URL field to pushURL field of the remote before replacing
398 + the URL field with a new value.
399 +
400 + Anybody who wants to champion this topic?
401 + I am personally not yet quite convinced if this is worth pursuing.
402 +
403 +--------------------------------------------------
404 +[Cooking]
405 +
406 +* hs/send-email-transferencoding-fix (2019-04-10) 1 commit
407 + - send-email: honor transferencoding config option again
408 +
409 + Since "git send-email" learned to take 'auto' as the value for the
410 + transfer-encoding, it by mistake stopped honoring the values given
411 + to the configuration variables sendemail.transferencoding and/or
412 + sendemail.<ident>.transferencoding. Attempt to correct this.
413 +
414 + Not quite.
415 + cf. <xmqq8swi34h5.fsf@gitster-ct.c.googlers.com>
416 +
417 +
418 +* jk/xmalloc (2019-04-12) 4 commits
419 + (merged to 'next' on 2019-04-22 at 1a907289fa)
420 + + progress: use xmalloc/xcalloc
421 + + xdiff: use xmalloc/xrealloc
422 + + xdiff: use git-compat-util
423 + + test-prio-queue: use xmalloc
424 +
425 + The code is updated to check the result of memory allocation before
426 + it is used in more places, by using xmalloc and/or xcalloc calls.
427 +
428 + Will merge to 'master'.
429 +
430 +
431 +* js/untracked-cache-allocfix (2019-04-12) 1 commit
432 + (merged to 'next' on 2019-04-22 at 004a544075)
433 + + untracked cache: fix off-by-one
434 + (this branch is used by jk/untracked-cache-more-fixes.)
435 +
436 + An underallocation in the code to read the untracked cache
437 + extension has been corrected.
438 +
439 + Will merge to 'master'.
440 +
441 +
442 +* km/t3000-retitle (2019-04-12) 1 commit
443 + (merged to 'next' on 2019-04-22 at 2d5aa01ca6)
444 + + t3000 (ls-files -o): widen description to reflect current tests
445 +
446 + A test update.
447 +
448 + Will merge to 'master'.
449 +
450 +
451 +* bc/send-email-qp-cr (2019-04-14) 1 commit
452 + (merged to 'next' on 2019-04-22 at 69398b0ea8)
453 + + send-email: default to quoted-printable when CR is present
454 +
455 + "git send-email" has been taught to use quoted-printable when the
456 + payload contains carriage-return. The use of the mechanism is in
457 + line with the design originally added the codepath that chooses QP
458 + when the payload has overly long lines.
459 +
460 + Will merge to 'master'.
461 +
462 +
463 +* jc/gettext-test-fix (2019-04-15) 1 commit
464 + (merged to 'next' on 2019-04-22 at 7c57deeb04)
465 + + gettext tests: export the restored GIT_TEST_GETTEXT_POISON
466 +
467 + The GETTEXT_POISON test option has been quite broken ever since it
468 + was made runtime-tunable, which has been fixed.
469 +
470 + Will merge to 'master'.
471 +
472 +
473 +* jk/fetch-reachability-error-fix (2019-04-15) 7 commits
474 + (merged to 'next' on 2019-04-22 at b4ce8375c0)
475 + + fetch: do not consider peeled tags as advertised tips
476 + + remote.c: make singular free_ref() public
477 + + fetch: use free_refs()
478 + + pkt-line: prepare buffer before handling ERR packets
479 + + upload-pack: send ERR packet for non-tip objects
480 + + t5530: check protocol response for "not our ref"
481 + + t5516: drop ok=sigpipe from unreachable-want tests
482 +
483 + Code clean-up and a fix for "git fetch" by an explicit object name
484 + (as opposed to fetching refs by name).
485 +
486 + Will merge to 'master'.
487 +
488 +
489 +* jk/pack-objects-reports-num-objects-to-trace2 (2019-04-12) 1 commit
490 + - pack-objects: write objects packed to trace2
491 +
492 + The "git pack-objects" command learned to report the number of
493 + objects it packed via the trace2 mechanism.
494 +
495 + Will merge to 'next'.
496 +
497 +
498 +* js/iso8895-test-on-apfs (2019-04-15) 1 commit
499 + (merged to 'next' on 2019-04-22 at c2fadead33)
500 + + t9822: skip tests if file names cannot be ISO-8859-1 encoded
501 +
502 + Test fix on APFS that is incapable of store paths in Latin-1.
503 +
504 + Will merge to 'master'.
505 +
506
506 - "git remote set-url" learned a new option that moves existing value
507 - of the URL field to pushURL field of the remote before replacing
508 - the URL field with a new value.
507 +* js/macos-gettext-build (2019-04-15) 1 commit
508 + (merged to 'next' on 2019-04-22 at de4cbb1431)
509 + + macOS: make sure that gettext is found
510
510 - Anybody who wants to champion this topic?
511 - I am personally not yet quite convinced if this is worth pursuing.
511 + Build with gettext breaks on recent macOS w/ Homebrew when
512 + /usr/local/bin is not on PATH, which has been corrected.
513
513 ---------------------------------------------------
514 -[Cooking]
514 + Will merge to 'master'.
515
516 -* bs/sendemail-tighten-anything-by (2019-04-04) 1 commit
517 - - send-email: don't cc *-by lines with '-' prefix
516
519 - The recently added feature to add addresses that are on
520 - anything-by: trailers in 'git send-email' was found to be way too
521 - eager and considered nonsense strings as if they can be legitimate
522 - beginning of *-by: trailer. This has been tightened.
517 +* js/misc-doc-fixes (2019-04-19) 8 commits
518 + - Turn `git serve` into a test helper
519 + - test-tool: handle the `-C <directory>` option just like `git`
520 + - check-docs: do not bother checking for legacy scripts' documentation
521 + - docs: exclude documentation for commands that have been excluded
522 + - check-docs: allow command-list.txt to contain excluded commands
523 + - help -a: do not list commands that are excluded from the build
524 + - Makefile: drop the NO_INSTALL variable
525 + - remote-testgit: move it into the support directory for t5801
526 +
527 + "make check-docs", "git help -a", etc. did not account for cases
528 + where a particular build may deliberately omit some subcommands,
529 + which has been corrected.
530
531 Will merge to 'next'.
532
533
527 -* da/smerge (2019-04-04) 2 commits
528 - (merged to 'next' on 2019-04-16 at 80bf79fee1)
529 - + contrib/completion: add smerge to the mergetool completion candidates
530 - + mergetools: add support for smerge (Sublime Merge)
534 +* nd/submodule-foreach-quiet (2019-04-15) 1 commit
535 + (merged to 'next' on 2019-04-22 at bf982bca7b)
536 + + submodule foreach: fix "<command> --quiet" not being respected
537
532 - "git mergetool" learned to offer Sublime Merge (smerge) as one of
533 - its backends.
538 + "git submodule foreach <command> --quiet" did not pass the option
539 + down correctly, which has been corrected.
540
541 Will merge to 'master'.
542
543
538 -* dl/flex-str-cocci (2019-04-04) 2 commits
539 - (merged to 'next' on 2019-04-16 at e5cb2927b3)
540 - + cocci: FLEX_ALLOC_MEM to FLEX_ALLOC_STR
541 - + midx.c: convert FLEX_ALLOC_MEM to FLEX_ALLOC_STR
544 +* bs/sendemail-tighten-anything-by (2019-04-04) 1 commit
545 + (merged to 'next' on 2019-04-22 at 0a0680f234)
546 + + send-email: don't cc *-by lines with '-' prefix
547
543 - Code clean-up.
548 + The recently added feature to add addresses that are on
549 + anything-by: trailers in 'git send-email' was found to be way too
550 + eager and considered nonsense strings as if they can be legitimate
551 + beginning of *-by: trailer. This has been tightened.
552
553 Will merge to 'master'.
554
@@ -590,6 +598,8 @@ of the repositories listed at
598 of a different type is expected, instead of blindly assuming that
599 the connection between objects are correctly made.
600
601 + Will merge to 'next'.
602 +
603
604 * en/merge-directory-renames (2019-04-08) 15 commits
605 - merge-recursive: switch directory rename detection default
@@ -642,49 +652,37 @@ of the repositories listed at
652 Will merge to 'master'.
653
654
645 -* js/rev-list-exclude-promisor-objects (2019-04-09) 1 commit
646 - - rev-list: exclude promisor objects at walk time
647 -
648 - "git rev-list --exclude-promisor-objects" learned not to bother
649 - enumerating all promisor objects, and instead filter these objects
650 - at walk time for performance.
651 -
652 - Getting there.
653 - cf. <xmqqo95f43dq.fsf@gitster-ct.c.googlers.com>
654 -
655 -
656 -* jt/clone-server-option (2019-04-15) 4 commits
657 - - SQUASH???
655 +* jt/clone-server-option (2019-04-18) 2 commits
656 - clone: send server options when using protocol v2
659 - - SQUASH???
657 - transport: die if server options are unsupported
658
659 "git clone" learned a new --server-option option when talking over
660 the protocol version 2.
661
665 - Getting there.
666 - cf. <xmqqk1g342xi.fsf@gitster-ct.c.googlers.com>
667 - cf. <20190406115728.GB219876@google.com>
662 + Will merge to 'next'.
663
664
665 * po/describe-not-necessarily-7 (2019-04-08) 1 commit
671 - - describe doc: remove '7-char' abbreviation reference
666 + (merged to 'next' on 2019-04-22 at 65b47ca73f)
667 + + describe doc: remove '7-char' abbreviation reference
668
669 Docfix.
670
675 - Will merge to 'next'.
671 + Will merge to 'master'.
672
673
674 * po/rerere-doc-fmt (2019-04-08) 1 commit
679 - - rerere doc: quote `rerere.enabled`
675 + (merged to 'next' on 2019-04-22 at 780c0d2450)
676 + + rerere doc: quote `rerere.enabled`
677
678 Docfix.
679
683 - Will merge to 'next'.
680 + Will merge to 'master'.
681
682
683 * sg/blame-in-bare-start-at-head (2019-04-08) 1 commit
687 - - blame: default to HEAD in a bare repo when no start commit is given
684 + (merged to 'next' on 2019-04-22 at 159777c280)
685 + + blame: default to HEAD in a bare repo when no start commit is given
686
687 "git blame -- path" in a non-bare repository starts blaming from
688 the working tree, and the same command in a bare repository errors
@@ -692,23 +690,25 @@ of the repositories listed at
690 has been taught to instead start blaming from the commit at HEAD,
691 which is more useful.
692
695 - Will merge to 'next'.
693 + Will merge to 'master'.
694
695
696 * tg/ls-files-debug-format-fix (2019-04-08) 1 commit
699 - - ls-files: use correct format string
697 + (merged to 'next' on 2019-04-22 at a5ac1ca49f)
698 + + ls-files: use correct format string
699
700 Debugging code fix.
701
703 - Will merge to 'next'.
702 + Will merge to 'master'.
703
704
705 * tz/doc-apostrophe-no-longer-needed (2019-04-10) 1 commit
707 - - Documentation/git-show-branch: avoid literal {apostrophe}
706 + (merged to 'next' on 2019-04-22 at 8ff03863ce)
707 + + Documentation/git-show-branch: avoid literal {apostrophe}
708
709 Doc formatting fix.
710
711 - Will merge to 'next'.
711 + Will merge to 'master'.
712
713
714 * tz/git-svn-doc-markup-fix (2019-04-10) 1 commit
@@ -720,11 +720,12 @@ of the repositories listed at
720
721
722 * js/t3301-unbreak-notes-test (2019-04-09) 1 commit
723 - - t3301: fix false negative
723 + (merged to 'next' on 2019-04-22 at a015b00bd9)
724 + + t3301: fix false negative
725
726 Test fix.
727
727 - Will merge to 'next'.
728 + Will merge to 'master'.
729
730
731 * ss/msvc-path-utils-fix (2019-04-09) 1 commit
@@ -733,28 +734,7 @@ of the repositories listed at
734 An earlier update for MinGW and Cygwin accidentally broke MSVC build,
735 which has been fixed.
736
736 - May want to clarify the log message?
737 - cf. <af640e82-ca1a-9c96-da47-62aaea1cc18e@web.de>
738 -
739 -
740 -* tb/stash-in-c-unused-param-fix (2019-03-11) 1 commit
741 - (merged to 'next' on 2019-03-20 at 5ccac5f80d)
742 - + stash: drop unused parameter
743 - (this branch uses ps/stash-in-c; is tangled with js/stash-in-c-pathspec-fix and tg/stash-in-c-show-default-to-p-fix.)
744 -
745 - Code clean-up.
746 -
747 - Will merge to 'master' together with other stash-in-c topics.
748 -
749 -
750 -* cb/doco-mono (2019-03-13) 2 commits
751 - (merged to 'next' on 2019-04-16 at 91f5d71452)
752 - + doc: format pathnames and URLs as monospace.
753 - + doc/CodingGuidelines: URLs and paths as monospace
754 -
755 - Clean-up markup in the documentation suite.
756 -
757 - Will merge to 'master'.
737 + Will merge to 'next'.
738
739
740 * cc/multi-promisor (2019-04-15) 17 commits
@@ -835,6 +815,8 @@ of the repositories listed at
815 advancing the current history" out of the single "git checkout"
816 command.
817
818 + The "switch" part seems more or less ready for testing. Perhaps
819 + we should split this back into two topics and merge it to 'next'.
820 cf. <20190329103919.15642-1-pclouds@gmail.com> (switch v6)
821 cf. <20190411131218.19195-1-pclouds@gmail.com> (restore v2)
822
@@ -866,20 +848,6 @@ of the repositories listed at
848 Will merge to 'next'.
849
850
869 -* js/check-docs-exe (2019-04-01) 5 commits
870 - (merged to 'next' on 2019-04-16 at 98570caa8c)
871 - + check-docs: fix for setups where executables have an extension
872 - + check-docs: do not expect guide pages to correspond to commands
873 - + check-docs: really look at the documented commands again
874 - + docs: do not document the `git remote-testgit` command
875 - + docs: move gitremote-helpers into section 7
876 - (this branch is used by js/misc-doc-fixes.)
877 -
878 - Dev support update.
879 -
880 - Will merge to 'master'.
881 -
882 -
851 * js/difftool-no-index (2019-03-18) 3 commits
852 (merged to 'next' on 2019-04-16 at 7313f9ff18)
853 + difftool: allow running outside Git worktrees with --no-index
@@ -924,19 +892,12 @@ of the repositories listed at
892 Will merge to 'master'.
893
894
927 -* tg/stash-in-c-show-default-to-p-fix (2019-03-21) 1 commit
928 - (merged to 'next' on 2019-04-10 at 9489a31a36)
929 - + stash: setup default diff output format if necessary
930 - (this branch uses ps/stash-in-c; is tangled with js/stash-in-c-pathspec-fix and tb/stash-in-c-unused-param-fix.)
931 -
932 - A regression fix.
933 -
934 - Will merge to 'master' together with other stash-in-c topics.
935 -
936 -
895 * jc/format-patch-noclobber (2019-02-22) 1 commit
896 - format-patch: --no-clobber refrains from overwriting output files
897
898 + "git format-patch" used to overwrite an existing patch/cover-letter
899 + file. A new "--no-clobber" option stops it.
900 +
901 Undecided but inclined to discard.
902
903
@@ -979,28 +940,29 @@ of the repositories listed at
940
941
942 * ab/gc-docs (2019-04-08) 11 commits
982 - - gc docs: remove incorrect reference to gc.auto=0
983 - - gc docs: clarify that "gc" doesn't throw away referenced objects
984 - - gc docs: note "gc --aggressive" in "fast-import"
985 - - gc docs: downplay the usefulness of --aggressive
986 - - gc docs: note how --aggressive impacts --window & --depth
987 - - gc docs: fix formatting for "gc.writeCommitGraph"
988 - - gc docs: re-flow the "gc.*" section in "config"
989 - - gc docs: include the "gc.*" section from "config" in "gc"
990 - - gc docs: clean grammar for "gc.bigPackThreshold"
991 - - gc docs: stop noting "repack" flags
992 - - gc docs: modernize the advice for manually running "gc"
943 + (merged to 'next' on 2019-04-22 at 02785d40f5)
944 + + gc docs: remove incorrect reference to gc.auto=0
945 + + gc docs: clarify that "gc" doesn't throw away referenced objects
946 + + gc docs: note "gc --aggressive" in "fast-import"
947 + + gc docs: downplay the usefulness of --aggressive
948 + + gc docs: note how --aggressive impacts --window & --depth
949 + + gc docs: fix formatting for "gc.writeCommitGraph"
950 + + gc docs: re-flow the "gc.*" section in "config"
951 + + gc docs: include the "gc.*" section from "config" in "gc"
952 + + gc docs: clean grammar for "gc.bigPackThreshold"
953 + + gc docs: stop noting "repack" flags
954 + + gc docs: modernize the advice for manually running "gc"
955
956 Update docs around "gc".
957
996 - Will merge to 'next'.
958 + Will merge to 'master'.
959
960
961 * ab/test-lib-pass-trace2-env (2019-04-01) 1 commit
962 (merged to 'next' on 2019-04-16 at 4dad6d6d7a)
963 + test-lib: whitelist GIT_TR2_* in the environment
964
1003 - Allow tracing of Git executable while running out tests.
965 + Allow tracing of Git executable while running the testsuite.
966
967 Will merge to 'master'.
968
@@ -1088,19 +1050,21 @@ of the repositories listed at
1050 Will merge to 'master'.
1051
1052
1091 -* dl/rebase-i-keep-base (2019-04-16) 6 commits
1053 +* dl/rebase-i-keep-base (2019-04-21) 6 commits
1054 - rebase: teach rebase --keep-base
1055 - rebase: fast-forward --fork-point in more cases
1056 - rebase: fast-forward --onto in more cases
1057 + - rebase: refactor can_fast_forward into goto tower
1058 - t3432: test rebase fast-forward behavior
1059 - t3431: add rebase --fork-point tests
1097 - + tests (rebase): spell out the `--keep-empty` option
1098 - (this branch is tangled with js/spell-out-options-in-tests.)
1060
1061 "git rebase --keep-base <upstream>" tries to find the original base
1101 - of the topic being rebased and rebase on top of that same base, which
1102 - is useful when running the "git rebase -i" (and its limited variant
1103 - "git rebase -x").
1062 + of the topic being rebased and rebase on top of that same base,
1063 + which is useful when running the "git rebase -i" (and its limited
1064 + variant "git rebase -x").
1065 +
1066 + The command also has learned to fast-forward in more cases where it
1067 + can instead of replaying to recreate identical commits.
1068
1069 Will merge to 'next'.
1070
@@ -1138,40 +1102,19 @@ of the repositories listed at
1102 cf. <pull.169.v4.git.gitgitgadget@gmail.com> (v4)
1103
1104
1141 -* js/spell-out-options-in-tests (2019-04-15) 8 commits
1142 - (merged to 'next' on 2019-04-16 at 1cfd7698b6)
1143 - + tests: disallow the use of abbreviated options (by default)
1144 - + tests (pack-objects): use the full, unabbreviated `--revs` option
1145 - + tests (status): spell out the `--find-renames` option in full
1146 - + tests (push): do not abbreviate the `--follow-tags` option
1147 - + t5531: avoid using an abbreviated option
1148 - + t7810: do not abbreviate `--no-exclude-standard` nor `--invert-match`
1149 - + tests (rebase): spell out the `--force-rebase` option
1150 - + tests (rebase): spell out the `--keep-empty` option
1151 - (this branch is tangled with dl/rebase-i-keep-base.)
1152 -
1153 - The tests have been updated not to rely on the abbreviated option
1154 - names the parse-options API offers, to protect us from an
1155 - abbreviated form of an option that used to be unique within the
1156 - command getting non-unique when a new option that share the same
1157 - prefix is added.
1158 -
1159 - Will merge to 'master'.
1160 -
1161 -
1105 * js/trace2-to-directory (2019-03-22) 1 commit
1106 - trace2: write to directory targets
1107
1108 The trace2 tracing facility learned to auto-generate a filename
1109 when told to log to a directory.
1110
1168 - Ready for 'next'; giving the last chance to be intercepted.
1169 - cf. <20190408211850.GJ60888@google.com>
1111 + Will merge to 'next'.
1112
1113
1114 * jt/batch-fetch-blobs-in-diff (2019-04-08) 2 commits
1173 - - diff: batch fetching of missing blobs
1174 - - sha1-file: support OBJECT_INFO_FOR_PREFETCH
1115 + (merged to 'next' on 2019-04-22 at 0598bae567)
1116 + + diff: batch fetching of missing blobs
1117 + + sha1-file: support OBJECT_INFO_FOR_PREFETCH
1118 (this branch is used by cc/multi-promisor.)
1119
1120 While running "git diff" in a lazy clone, we can upfront know which
@@ -1179,7 +1122,7 @@ of the repositories listed at
1122 machinery to discover them one by one. Aim to achieve better
1123 performance by batching the request for these promised blobs.
1124
1182 - Will merge to 'next'.
1125 + Will merge to 'master'.
1126
1127
1128 * jt/fetch-no-update-shallow-in-proto-v2 (2019-04-01) 3 commits
@@ -1273,24 +1216,6 @@ of the repositories listed at
1216 Will merge to 'master'.
1217
1218
1276 -* nd/include-if-wildmatch (2019-04-01) 1 commit
1277 - (merged to 'next' on 2019-04-16 at db8b6a578a)
1278 - + config: correct '**' matching in includeIf patterns
1279 -
1280 - A buglet in configuration parser has been fixed.
1281 -
1282 - Will merge to 'master'.
1283 -
1284 -
1285 -* nd/interpret-trailers-docfix (2019-04-01) 1 commit
1286 - (merged to 'next' on 2019-04-16 at 6a57abc7e6)
1287 - + interpret-trailers.txt: start the desc line with a capital letter
1288 -
1289 - Doc update.
1290 -
1291 - Will merge to 'master'.
1292 -
1293 -
1219 * nd/precious (2019-04-09) 1 commit
1220 - Introduce "precious" file concept
1221
@@ -1298,16 +1223,13 @@ of the repositories listed at
1223 and keep untracked paths with the attribute instead of removing
1224 when the "--keep-precious" is given.
1225
1301 - Will merge to 'next'.
1302 -
1303 -
1304 -* nd/read-tree-reset-doc (2019-04-02) 1 commit
1305 - (merged to 'next' on 2019-04-16 at f2bef91774)
1306 - + read-tree.txt: clarify --reset and worktree changes
1307 -
1308 - The documentation for "git read-tree --reset -u" has been updated.
1226 + Retracted.
1227 + cf. <CACsJy8AEZ-Lz6zgEsuNukvphB9TTa9FAC1gK05fhnie2xtfc9w@mail.gmail.com>
1228
1310 - Will merge to 'master'.
1229 + I am not sure what aspect of this longer-term "precious" vision,
1230 + which gets taught to various commands and use cases individually
1231 + and incrementally, Ævar finds problematic, which I understand is
1232 + the reason of redtraction.
1233
1234
1235 * nd/sha1-name-c-wo-the-repository (2019-04-16) 34 commits
@@ -1353,7 +1275,7 @@ of the repositories listed at
1275 Will merge to 'next'.
1276
1277
1356 -* pw/rebase-i-internal-rfc (2019-03-21) 12 commits
1278 +* pw/rebase-i-internal (2019-04-19) 13 commits
1279 - rebase -i: run without forking rebase--interactive
1280 - rebase: use a common action enum
1281 - rebase -i: use struct rebase_options in do_interactive_rebase()
@@ -1364,29 +1286,15 @@ of the repositories listed at
1286 - rebase -i: combine rebase--interactive.c with rebase.c
1287 - rebase: use OPT_RERERE_AUTOUPDATE()
1288 - rebase: rename write_basic_state()
1289 + - rebase: don't translate trace strings
1290 - sequencer: always discard index after checkout
1368 - - Merge branch 'ag/sequencer-reduce-rewriting-todo' into pw/rebase-i-internal-rfc
1291 + - Merge branch 'ag/sequencer-reduce-rewriting-todo' into pw/rebase-i-internal
1292 (this branch uses ag/sequencer-reduce-rewriting-todo.)
1293
1294 The internal implementation of "git rebase -i" has been updated to
1295 avoid forking a separate "rebase--interactive" process.
1296
1374 - Comments? Is this ready?
1375 -
1376 -
1377 -* sg/asciidoctor-in-ci (2019-04-05) 6 commits
1378 - (merged to 'next' on 2019-04-16 at efdf919c16)
1379 - + ci: fix AsciiDoc/Asciidoctor stderr check in the documentation build job
1380 - + ci: stick with Asciidoctor v1.5.8 for now
1381 - + ci: install Asciidoctor in 'ci/install-dependencies.sh'
1382 - + Documentation/technical/protocol-v2.txt: fix formatting
1383 - + Documentation/technical/api-config.txt: fix formatting
1384 - + Documentation/git-diff-tree.txt: fix formatting
1385 -
1386 - Update our support to format documentation in the CI environment,
1387 - either with AsciiDoc ro Asciidoctor.
1388 -
1389 - Will merge to 'master'.
1297 + Will merge to 'next'.
1298
1299
1300 * sg/index-pack-progress (2019-04-01) 1 commit
@@ -1400,39 +1308,18 @@ of the repositories listed at
1308
1309
1310 * sg/overlong-progress-fix (2019-04-15) 4 commits
1403 - - progress: break too long progress bar lines
1404 - - progress: clear previous progress update dynamically
1405 - - progress: assemble percentage and counters in a strbuf before printing
1406 - - progress: make display_progress() return void
1311 + (merged to 'next' on 2019-04-22 at 69921cdf09)
1312 + + progress: break too long progress bar lines
1313 + + progress: clear previous progress update dynamically
1314 + + progress: assemble percentage and counters in a strbuf before printing
1315 + + progress: make display_progress() return void
1316
1317 Updating the display with progress message has been cleaned up to
1318 deal better with overlong messages.
1319
1411 - Will merge to 'next'.
1412 -
1413 -
1414 -* tz/asciidoctor-fixes (2019-04-01) 2 commits
1415 - (merged to 'next' on 2019-04-16 at 0cb17f579b)
1416 - + Documentation/git-status: fix titles in porcelain v2 section
1417 - + Documentation/rev-list-options: wrap --date=<format> block with "--"
1418 -
1419 - Doc updates.
1420 -
1320 Will merge to 'master'.
1321
1322
1424 -* js/stash-in-c-pathspec-fix (2019-03-12) 3 commits
1425 - (merged to 'next' on 2019-03-20 at e81d08af7a)
1426 - + stash: pass pathspec as pointer
1427 - + built-in stash: handle :(glob) pathspecs again
1428 - + legacy stash: fix "rudimentary backport of -q"
1429 - (this branch uses ps/stash-in-c; is tangled with tb/stash-in-c-unused-param-fix and tg/stash-in-c-show-default-to-p-fix.)
1430 -
1431 - Further fixes to "git stash" reimplemented in C.
1432 -
1433 - Will merge to 'master' together with other stash-in-c topics.
1434 -
1435 -
1323 * nd/worktree-name-sanitization (2019-03-20) 2 commits
1324 - SQUASH???
1325 - worktree add: sanitize worktree names
@@ -1453,18 +1340,19 @@ of the repositories listed at
1340 file changes, which can help e.g. a virtualized working tree
1341 implementation.
1342
1456 - Will cook in 'next'.
1343 + Will merge to 'master'.
1344
1345
1346 * dl/submodule-set-branch (2019-04-10) 3 commits
1460 - - submodule: teach set-branch subcommand
1461 - - submodule--helper: teach config subcommand --unset
1462 - - git-submodule.txt: "--branch <branch>" option defaults to 'master'
1347 + (merged to 'next' on 2019-04-22 at 3b640715ae)
1348 + + submodule: teach set-branch subcommand
1349 + + submodule--helper: teach config subcommand --unset
1350 + + git-submodule.txt: "--branch <branch>" option defaults to 'master'
1351
1352 "git submodule" learns "set-branch" subcommand that allows the
1353 submodule.*.branch settings to be modified.
1354
1467 - Will merge to 'next'.
1355 + Will merge to 'master'.
1356
1357
1358 * dm/some-stdio-functions-are-macro-on-freebsd (2019-02-01) 1 commit
@@ -1504,9 +1392,10 @@ of the repositories listed at
1392 "git blame" learned to "ignore" commits in the history, whose
1393 effects (as well as their presence) get ignored.
1394
1507 - Under discussion.
1508 - cf. <8736mtqy9n.fsf@fencepost.gnu.org>
1509 - cf. <6752a735-2e7b-7d13-799f-a42e6995498c@google.com>
1395 + Expecting a reroll.
1396 + cf. <20190410162409.117264-1-brho@google.com> (v6)
1397 + cf. <a742dd62-c84e-1f85-0663-4a3aa4d14989@google.com>
1398 + cf. <3db6bad3-e7a5-af1d-3fe2-321bd17db2c6@google.com>
1399
1400
1401 * nd/config-move-to (2019-01-14) 7 commits
@@ -1521,18 +1410,18 @@ of the repositories listed at
1410 Needs review.
1411
1412
1524 -* dl/merge-cleanup-scissors-fix (2019-03-21) 11 commits
1413 +* dl/merge-cleanup-scissors-fix (2019-04-19) 10 commits
1414 - cherry-pick/revert: add scissors line on merge conflict
1526 - - sequencer.c: define describe_cleanup_mode
1415 + - sequencer.c: save and restore cleanup mode
1416 - merge: add scissors line on merge conflict
1417 - merge: cleanup messages like commit
1529 - - sequencer.c: remove duplicate code
1418 - parse-options.h: extract common --cleanup option
1419 - commit: extract cleanup_mode functions to sequencer
1420 - t7502: clean up style
1421 - t7604: clean up style
1422 - t3507: clean up style
1423 - t7600: clean up style
1424 + (this branch uses pw/sequencer-cleanup-with-signoff-x-fix.)
1425
1426 The list of conflicted paths shown in the editor while concluding a
1427 conflicted merge was shown above the scissors line when the
@@ -1540,10 +1429,7 @@ of the repositories listed at
1429 out just like the list of updated paths and other information to
1430 help the user explain the merge better.
1431
1543 - Needs review.
1544 - Expecting a reroll.
1545 - cf. <cover.1553150827.git.liu.denton@gmail.com> (v9)
1546 - cf. <20190409182247.GA7317@dev-l>
1432 + Will merge to 'next'.
1433
1434
1435 * jn/unknown-index-extensions (2018-11-21) 2 commits
@@ -1576,7 +1462,7 @@ of the repositories listed at
1462 + sequencer: remove the 'arg' field from todo_item
1463 + sequencer: make the todo_list structure public
1464 + sequencer: changes in parse_insn_buffer()
1579 - (this branch is used by pw/rebase-i-internal-rfc.)
1465 + (this branch is used by pw/rebase-i-internal.)
1466
1467 The scripted version of "git rebase -i" wrote and rewrote the todo
1468 list many times during a single step of its operation, and the
@@ -1588,42 +1474,16 @@ of the repositories listed at
1474 Will merge to 'master'.
1475 cf. <20190305191805.13561-1-alban.gruin@gmail.com> (v8)
1476
1477 +--------------------------------------------------
1478 +[Discarded]
1479
1592 -* ps/stash-in-c (2019-03-07) 29 commits
1593 - (merged to 'next' on 2019-03-11 at f568e3be72)
1594 - + tests: add a special setup where stash.useBuiltin is off
1595 - + stash: optionally use the scripted version again
1596 - + stash: add back the original, scripted `git stash`
1597 - + stash: convert `stash--helper.c` into `stash.c`
1598 - + stash: replace all `write-tree` child processes with API calls
1599 - + stash: optimize `get_untracked_files()` and `check_changes()`
1600 - + stash: convert save to builtin
1601 - + stash: make push -q quiet
1602 - + stash: convert push to builtin
1603 - + stash: convert create to builtin
1604 - + stash: convert store to builtin
1605 - + stash: convert show to builtin
1606 - + stash: convert list to builtin
1607 - + stash: convert pop to builtin
1608 - + stash: convert branch to builtin
1609 - + stash: convert drop and clear to builtin
1610 - + stash: convert apply to builtin
1611 - + stash: mention options in `show` synopsis
1612 - + stash: add tests for `git stash show` config
1613 - + stash: rename test cases to be more descriptive
1614 - + t3903: add test for --intent-to-add file
1615 - + t3903: modernize style
1616 - + stash: improve option parsing test coverage
1617 - + ident: don't require calling prepare_fallback_ident first
1618 - + ident: add the ability to provide a "fallback identity"
1619 - + strbuf.c: add `strbuf_insertf()` and `strbuf_vinsertf()`
1620 - + strbuf.c: add `strbuf_join_argv()`
1621 - + sha1-name.c: add `get_oidf()` which acts like `get_oid()`
1622 - + Merge branch 'sd/stash-wo-user-name'
1623 - (this branch is used by js/stash-in-c-pathspec-fix, tb/stash-in-c-unused-param-fix and tg/stash-in-c-show-default-to-p-fix.)
1624 -
1625 - Originally merged to 'next' on 2019-03-07
1480 +* js/rev-list-exclude-promisor-objects (2019-04-09) 1 commit
1481 + . rev-list: exclude promisor objects at walk time
1482
1627 - "git stash" rewritten in C.
1483 + "git rev-list --exclude-promisor-objects" learned not to bother
1484 + enumerating all promisor objects, and instead filter these objects
1485 + at walk time for performance.
1486
1629 - Will merge to 'master' together with other stash-in-c topics.
1487 + Discarded; js/partial-clone-connectivity-check replaces this.
1488 + cf. <9856e7fc74f51b60ae162cbed3f5c0cf8c603222.1554757275.git.steadmon@google.com> (v3)
1489 + cf. <20190413053434.GA31884@sigill.intra.peff.net>