What's cooking (2018/03 #05)

Junio C Hamano committed Mar 28, 2018 at 12:23 UTC 9cdb6cb65f6ae0d887b8f8c79cafd35927ddb0ba
1 file changed +353 -194
whats-cooking.txt
+353 -194
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Mar 2018, #04; Tue, 20)
4 -X-master-at: 0afbf6caa5b16dcfa3074982e5b48e27d452dbbb
5 -X-next-at: 9ac9d02b0bb5a12c247f9cbeaa8c30b8aed3f167
3 +Subject: What's cooking in git.git (Mar 2018, #05; Wed, 28)
4 +X-master-at: 03df4959472e7d4b5117bb72ac86e1e2bcf21723
5 +X-next-at: 3e0db8b7c591f702be63ceb30103f4ddcbbe62ee
6
7 -What's cooking in git.git (Mar 2018, #04; Tue, 20)
7 +What's cooking in git.git (Mar 2018, #05; Wed, 28)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -12,6 +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 +Git 2.17 final is expected to be tagged by early next week.
16 +
17 You can find the changes described here in the integration branches
18 of the repositories listed at
19
@@ -20,74 +22,38 @@ of the repositories listed at
22 --------------------------------------------------
23 [Graduated to "master"]
24
23 -* ab/man-sec-list (2018-03-08) 1 commit
24 - (merged to 'next' on 2018-03-09 at 9626b691e2)
25 - + git manpage: note git-security@googlegroups.com
26 -
27 - Doc update.
28 -
29 -
30 -* ab/perl-fixes (2018-03-05) 13 commits
31 - (merged to 'next' on 2018-03-09 at 262d84c1ba)
32 - + perl Git::LoadCPAN: emit better errors under NO_PERL_CPAN_FALLBACKS
33 - + Makefile: add NO_PERL_CPAN_FALLBACKS knob
34 - + perl: move the perl/Git/FromCPAN tree to perl/FromCPAN
35 - + perl: generalize the Git::LoadCPAN facility
36 - + perl: move CPAN loader wrappers to another namespace
37 - + perl: update our copy of Mail::Address
38 - + perl: update our ancient copy of Error.pm
39 - + git-send-email: unconditionally use Net::{SMTP,Domain}
40 - + Git.pm: hard-depend on the File::{Temp,Spec} modules
41 - + gitweb: hard-depend on the Digest::MD5 5.8 module
42 - + Git.pm: add the "use warnings" pragma
43 - + Git.pm: remove redundant "use strict" from sub-package
44 - + perl: *.pm files should not have the executable bit
45 -
46 - Clean-up to various pieces of Perl code we have.
47 -
48 -
49 -* cl/send-email-reply-to (2018-03-06) 2 commits
50 - (merged to 'next' on 2018-03-09 at 3d3c3ab441)
51 - + send-email: support separate Reply-To address
52 - + send-email: rename variable for clarity
53 - (this branch uses np/send-email-header-parsing.)
54 -
55 - "git send-email" learned "--reply-to=<address>" option.
56 -
25 +* bp/refresh-cache-ent-rehash-fix (2018-03-15) 1 commit
26 + (merged to 'next' on 2018-03-15 at bac8745f08)
27 + + Fix bugs preventing adding updated cache entries to the name hash
28
58 -* np/send-email-header-parsing (2017-12-15) 1 commit
59 - (merged to 'next' on 2018-03-09 at 91ef7216f7)
60 - + send-email: extract email-parsing code into a subroutine
61 - (this branch is used by cl/send-email-reply-to.)
29 + The codepath to replace an existing entry in the index had a bug in
30 + updating the name hash structure, which has been fixed.
31
63 - Code refactoring.
32
33 +* dp/merge-strategy-doc-fix (2018-03-19) 1 commit
34 + (merged to 'next' on 2018-03-20 at 317e077588)
35 + + Documentation/merge-strategies: typofix
36
66 -* sg/cvs-tests-with-x (2018-03-08) 2 commits
67 - (merged to 'next' on 2018-03-09 at 6ec749c7b7)
68 - + t9402-git-cvsserver-refs: don't check the stderr of a subshell
69 - + t9400-git-cvsserver-server: don't rely on the output of 'test_cmp'
37 + Doc fix.
38
71 - Allow running a couple of tests with "sh -x".
39
40 +* jh/fsck-promisors (2018-03-13) 1 commit
41 + (merged to 'next' on 2018-03-15 at 0c283dbe5e)
42 + + sha1_file: restore OBJECT_INFO_QUICK functionality
43
74 -* tl/userdiff-csharp-async (2018-03-08) 1 commit
75 - (merged to 'next' on 2018-03-09 at 6dcf76e118)
76 - + userdiff.c: add C# async keyword in diff pattern
44 + A hotfix to a topic that graduated recently.
45
78 - Update funcname pattern used for C# to recognize "async" keyword.
46
80 ---------------------------------------------------
81 -[New Topics]
47 +* jk/attributes-path-doc (2018-03-20) 1 commit
48 + (merged to 'next' on 2018-03-20 at e965f0c68c)
49 + + doc/gitattributes: mention non-recursive behavior
50
83 -* bp/refresh-cache-ent-rehash-fix (2018-03-15) 1 commit
84 - (merged to 'next' on 2018-03-15 at bac8745f08)
85 - + Fix bugs preventing adding updated cache entries to the name hash
51 + Doc update.
52
87 - The codepath to replace an existing entry in the index had a bug in
88 - updating the name hash structure, which has been fixed.
53
90 - Will merge to 'master'.
54 +* js/ming-strftime (2018-03-19) 1 commit
55 + (merged to 'next' on 2018-03-20 at a9ca8172c7)
56 + + mingw: abort on invalid strftime formats
57
58
59 * jt/transfer-fsck-with-promissor (2018-03-15) 2 commits
@@ -101,40 +67,57 @@ of the repositories listed at
67 narrow clone's convention that missing objects that are reachable
68 from objects in a pack that came from a promissor remote is OK.
69
104 - Will merge to 'master'.
70
71 +* ks/t3200-typofix (2018-03-15) 1 commit
72 + (merged to 'next' on 2018-03-15 at 8b8d397787)
73 + + t/t3200: fix a typo in a test description
74
107 -* ml/filter-branch-no-op-error (2018-03-15) 1 commit
108 - (merged to 'next' on 2018-03-15 at ba8ac48dec)
109 - + filter-branch: return 2 when nothing to rewrite
75 + Test typofix.
76
111 - "git filter-branch" learned to use a different exit code to allow
112 - the callers to tell the case where there was no new commits to
113 - rewrite from other error cases.
77
115 - Will cook in 'next'.
78 +* ma/config-page-only-in-list-mode (2018-02-21) 3 commits
79 + (merged to 'next' on 2018-03-15 at 652430af12)
80 + + config: change default of `pager.config` to "on"
81 + + config: respect `pager.config` in list/get-mode only
82 + + t7006: add tests for how git config paginates
83
84 + In a way similar to how "git tag" learned to honor the pager
85 + setting only in the list mode, "git config" learned to ignore the
86 + pager setting when it is used for setting values (i.e. when the
87 + purpose of the operation is not to "show").
88
118 -* ab/install-symlinks (2018-03-15) 3 commits
119 - (merged to 'next' on 2018-03-15 at 99d6bd6cb3)
120 - + Makefile: optionally symlink libexec/git-core binaries to bin/git
121 - + Makefile: add a gitexecdir_relative variable
122 - + Makefile: fix broken bindir_relative variable
89
124 - The build procedure learned to optionally use symbolic links
125 - (instead of hardlinks and copies) to install "git-foo" for built-in
126 - commands, whose binaries are all identical.
90 +* ma/skip-writing-unchanged-index (2018-03-01) 1 commit
91 + (merged to 'next' on 2018-03-15 at cdbbc66464)
92 + + write_locked_index(): add flag to avoid writing unchanged index
93
128 - Will cook in 'next'.
94 + Internal API clean-up to allow write_locked_index() optionally skip
95 + writing the in-core index when it is not modified.
96
97
131 -* ks/t3200-typofix (2018-03-15) 1 commit
132 - (merged to 'next' on 2018-03-15 at 8b8d397787)
133 - + t/t3200: fix a typo in a test description
98 +* ml/filter-branch-portability-fix (2018-03-19) 1 commit
99 + (merged to 'next' on 2018-03-20 at c7c17cfc8b)
100 + + filter-branch: use printf instead of echo -e
101
135 - Test typofix.
102 + Shell script portability fix.
103
137 - Will merge to 'master'.
104 +
105 +* nd/parseopt-completion (2018-03-23) 2 commits
106 + (merged to 'next' on 2018-03-23 at 2bee77135e)
107 + + t9902: disable test on the list of merge-strategies under GETTEXT_POISON
108 + (merged to 'next' on 2018-03-22 at 279765c437)
109 + + completion: clear cached --options when sourcing the completion script
110 + (this branch is used by nd/parseopt-completion-more.)
111 +
112 + Hotfix for recently graduated topic that give help to completion
113 + scripts from the Git subcommands that are being completed
114 +
115 +
116 +* pc/submodule-helper (2018-03-27) 1 commit
117 + (merged to 'next' on 2018-03-27 at 362e0ef09b)
118 + + submodule deinit: handle non existing pathspecs gracefully
119 +
120 + Hotfix.
121
122
123 * rj/http-code-cleanup (2018-03-15) 1 commit
@@ -145,102 +128,237 @@ of the repositories listed at
128 building for versions of libCURL that is older than 7.19.4, which
129 has been fixed.
130
148 - Will merge to 'master'.
131 This will become unnecessary, when we follow-through the
132 jk/drop-ancient-curl topic.
133
134
153 -* tg/stash-untracked-with-pathspec-fix (2018-03-20) 3 commits
154 - - stash push -u: don't create empty stash
155 - - stash push: avoid printing errors
156 - - stash: fix nonsense pipeline
135 +* rj/warning-uninitialized-fix (2018-03-20) 2 commits
136 + (merged to 'next' on 2018-03-20 at 9ac9d02b0b)
137 + + read-cache: fix an -Wmaybe-uninitialized warning
138 + + -Wuninitialized: remove some 'init-self' workarounds
139 +
140 + Compilation fix.
141 +
142 +
143 +* tg/stash-doc-typofix (2018-03-27) 1 commit
144 + (merged to 'next' on 2018-03-27 at 144a25f09c)
145 + + git-stash.txt: remove extra square bracket
146
158 - "git stash push -u -- <pathspec>" gave an unnecessary and confusing
159 - error message when there was no tracked files that match the
160 - <pathspec>, which has been fixed.
147 + Hotfix.
148 +
149 +
150 +* tz/complete-tag-delete-tagname (2018-03-19) 1 commit
151 + (merged to 'next' on 2018-03-20 at d63d45ff16)
152 + + completion: complete tags with git tag --delete/--verify
153 +
154 +
155 +* tz/relnotes-1.7-on-perl (2018-03-16) 1 commit
156 + (merged to 'next' on 2018-03-20 at ed4b26e581)
157 + + RelNotes: add details on Perl module changes
158 +
159 +--------------------------------------------------
160 +[New Topics]
161 +
162 +* ds/bsearch-hash (2018-03-25) 4 commits
163 + - sha1_name: use bsearch_pack() in unique_in_pack()
164 + - sha1_name: use bsearch_pack() for abbreviations
165 + - packfile: define and use bsearch_pack()
166 + - sha1_name: convert struct min_abbrev_data to object_id
167 + (this branch uses bc/object-id.)
168 +
169 + Code to find the length to uniquely abbreviate object names based
170 + on packfile content, which is a relatively recent addtion, has been
171 + optimized to use the same fan-out table.
172
173 Will merge to 'next'.
174
175
165 -* dp/merge-strategy-doc-fix (2018-03-19) 1 commit
166 - (merged to 'next' on 2018-03-20 at 317e077588)
167 - + Documentation/merge-strategies: typofix
176 +* jh/json-writer (2018-03-28) 1 commit
177 + - json_writer: new routines to create data in JSON format
178
169 - Doc fix.
179
171 - Will merge to 'master'.
180 +* jk/diff-highlight-graph-fix (2018-03-21) 7 commits
181 + - diff-highlight: detect --graph by indent
182 + - diff-highlight: use flush() helper consistently
183 + - diff-highlight: test graphs with --color
184 + - diff-highlight: test interleaved parallel lines of history
185 + - diff-highlight: prefer "echo" to "cat" in tests
186 + - diff-highlight: use test_tick in graph test
187 + - diff-highlight: correct test graph diagram
188
189 + "diff-highlight" filter (in contrib/) learned to undertand "git log
190 + --graph" output better.
191
174 -* js/ming-strftime (2018-03-19) 1 commit
175 - (merged to 'next' on 2018-03-20 at a9ca8172c7)
176 - + mingw: abort on invalid strftime formats
192 + Will merge to 'next'.
193
178 - Will merge to 'master'.
194
195 +* ot/libify-get-ref-atom-value (2018-03-21) 6 commits
196 + - ref-filter: libify get_ref_atom_value()
197 + - ref-filter: add return value to parsers
198 + - ref-filter: change parsing function error handling
199 + - ref-filter: add return value && strbuf to handlers
200 + - ref-filter: start adding strbufs with errors
201 + - strbuf: add shortcut to work with error messages
202
181 -* ml/filter-branch-portability-fix (2018-03-19) 1 commit
182 - (merged to 'next' on 2018-03-20 at c7c17cfc8b)
183 - + filter-branch: use printf instead of echo -e
203 + Code restructuring, in preparation for further work.
204
185 - Shell script portability fix.
205 + Will merge to 'next'.
206
187 - Will merge to 'master'.
207
208 +* ab/doc-hash-brokenness (2018-03-27) 2 commits
209 + - doc hash-function-transition: clarify what SHAttered means
210 + - doc hash-function-transition: clarify how older gits die on NewHash
211
190 -* rj/warning-uninitialized-fix (2018-03-20) 2 commits
191 - (merged to 'next' on 2018-03-20 at 9ac9d02b0b)
192 - + read-cache: fix an -Wmaybe-uninitialized warning
193 - + -Wuninitialized: remove some 'init-self' workarounds
212
195 - Compilation fix.
213 +* ab/drop-contrib-examples (2018-03-26) 1 commit
214 + - Remove contrib/examples/*
215
197 - Will merge to 'master'.
216 + Will merge to 'next'.
217
218
200 -* tz/complete-tag-delete-tagname (2018-03-19) 1 commit
201 - (merged to 'next' on 2018-03-20 at d63d45ff16)
202 - + completion: complete tags with git tag --delete/--verify
219 +* bc/hash-independent-tests (2018-03-26) 10 commits
220 + - t2107: abstract away SHA-1-specific constants
221 + - t2101: abstract away SHA-1-specific constants
222 + - t2101: modernize test style
223 + - t2020: abstract away SHA-1 specific constants
224 + - t1507: abstract away SHA-1-specific constants
225 + - t1411: abstract away SHA-1-specific constants
226 + - t1405: sort reflog entries in a hash-independent way
227 + - t1300: abstract away SHA-1-specific constants
228 + - t1304: abstract away SHA-1-specific constants
229 + - t1011: abstract away SHA-1-specific constants
230
204 - Will merge to 'master'.
231
232 +* cc/perf-aggregate-sort (2018-03-27) 2 commits
233 + - perf/aggregate: add --sort-by=regression option
234 + - perf/aggregate: add display_dir()
235
207 -* tz/relnotes-1.7-on-perl (2018-03-16) 1 commit
208 - (merged to 'next' on 2018-03-20 at ed4b26e581)
209 - + RelNotes: add details on Perl module changes
236
211 - Will merge to 'master'.
237 +* jc/test-must-be-empty (2018-03-27) 1 commit
238 + - test_must_be_empty: simplify file existence check
239
240
214 -* jk/attributes-path-doc (2018-03-20) 1 commit
215 - (merged to 'next' on 2018-03-20 at e965f0c68c)
216 - + doc/gitattributes: mention non-recursive behavior
241 +* jh/partial-clone (2018-03-25) 1 commit
242 + (merged to 'next' on 2018-03-28 at 2a0a7aef8e)
243 + + unpack-trees: release oid_array after use in check_updates()
244
218 - Doc update.
245 + Hotfix.
246
247 Will merge to 'master'.
248
249
223 -* pw/rebase-keep-empty-fixes (2018-03-20) 4 commits
224 - - SQUASH???
225 - - rebase: respect --no-keep-empty
226 - - rebase -i --keep-empty: don't prune empty commits
227 - - rebase --root: stop assuming squash_onto is unset
228 - (this branch is used by pw/rebase-signoff.)
250 +* jk/branch-l-0-deprecation (2018-03-26) 3 commits
251 + - branch: deprecate "-l" option
252 + - t: switch "branch -l" to "branch --create-reflog"
253 + - t3200: unset core.logallrefupdates when testing reflog creation
254 + (this branch is used by jk/branch-l-1-removal and jk/branch-l-2-reincarnation.)
255 +
256 +
257 +* jk/branch-l-1-removal (2018-03-26) 1 commit
258 + - branch: drop deprecated "-l" option
259 + (this branch is used by jk/branch-l-2-reincarnation; uses jk/branch-l-0-deprecation.)
260 +
261 +
262 +* jk/branch-l-2-reincarnation (2018-03-26) 1 commit
263 + - branch: make "-l" a synonym for "--list"
264 + (this branch uses jk/branch-l-0-deprecation and jk/branch-l-1-removal.)
265 +
266 +
267 +* jm/mem-pool (2018-03-27) 3 commits
268 + - Move reusable parts of memory pool into its own file
269 + - fast-import: introduce mem_pool type
270 + - fast-import: rename mem_pool type to mp_block
271 +
272 +
273 +* js/runtime-prefix-windows (2018-03-27) 2 commits
274 + - mingw/msvc: use the new-style RUNTIME_PREFIX helper
275 + - exec_cmd: provide a new-style RUNTIME_PREFIX helper for Windows
276 + (this branch uses dj/runtime-prefix.)
277 +
278 +
279 +* nd/combined-test-helper (2018-03-27) 36 commits
280 + - t/helper: merge test-write-cache into test-tool
281 + - t/helper: merge test-wildmatch into test-tool
282 + - t/helper: merge test-urlmatch-normalization into test-tool
283 + - t/helper: merge test-subprocess into test-tool
284 + - t/helper: merge test-submodule-config into test-tool
285 + - t/helper: merge test-string-list into test-tool
286 + - t/helper: merge test-strcmp-offset into test-tool
287 + - t/helper: merge test-sigchain into test-tool
288 + - t/helper: merge test-sha1-array into test-tool
289 + - t/helper: merge test-scrap-cache-tree into test-tool
290 + - t/helper: merge test-run-command into test-tool
291 + - t/helper: merge test-revision-walking into test-tool
292 + - t/helper: merge test-regex into test-tool
293 + - t/helper: merge test-ref-store into test-tool
294 + - t/helper: merge test-read-cache into test-tool
295 + - t/helper: merge test-prio-queue into test-tool
296 + - t/helper: merge test-path-utils into test-tool
297 + - t/helper: merge test-online-cpus into test-tool
298 + - t/helper: merge test-mktemp into test-tool
299 + - t/helper: merge (unused) test-mergesort into test-tool
300 + - t/helper: merge (unused) test-match-trees into test-tool
301 + - t/helper: merge test-index-version into test-tool
302 + - t/helper: merge test-hashmap into test-tool
303 + - t/helper: merge test-genrandom into test-tool
304 + - t/helper: merge test-example-decorate into test-tool
305 + - t/helper: merge test-dump-split-index into test-tool
306 + - t/helper: merge test-dump-cache-tree into test-tool
307 + - t/helper: merge test-drop-caches into test-tool
308 + - t/helper: merge (unused) test-delta into test-tool
309 + - t/helper: merge test-date into test-tool
310 + - t/helper: merge test-ctype into test-tool
311 + - t/helper: merge test-config into test-tool
312 + - t/helper: merge test-lazy-init-name-hash into test-tool
313 + - t/helper: merge test-sha1 into test-tool
314 + - t/helper: merge test-chmtime into test-tool
315 + - t/helper: add an empty test-tool program
316 +
317 +
318 +* nd/parseopt-completion-more (2018-03-25) 8 commits
319 + - completion: use __gitcomp_builtin in _git_cherry
320 + - completion: use __gitcomp_builtin in _git_ls_tree
321 + - completion: delete option-only completion commands
322 + - completion: add --option completion for most builtin commands
323 + - completion: factor out _git_xxx calling code
324 + - completion: mention the oldest version we need to support
325 + - git.c: add hidden option --list-parseopt-builtins
326 + - git.c: move cmd_struct declaration up
327 +
328 +
329 +* nd/trace-with-env (2018-03-25) 1 commit
330 + - run-command: use strbuf_addstr() for adding a string to a strbuf
331 +
332 +
333 +* pk/test-avoid-pipe-hiding-exit-status (2018-03-28) 1 commit
334 + - test: avoid pipes in git related commands for test
335 +
336 +
337 +* ws/rebase-p (2018-03-23) 8 commits
338 + - rebase: remove merges_option and a blank line
339 + - rebase: remove unused code paths from git_rebase__interactive__preserve_merges
340 + - rebase: remove unused code paths from git_rebase__interactive
341 + - rebase: add and use git_rebase__interactive__preserve_merges
342 + - rebase: extract functions out of git_rebase__interactive
343 + - rebase: reindent function git_rebase__interactive
344 + - rebase: update invocation of rebase dot-sourced scripts
345 + - rebase-interactive: simplify pick_on_preserving_merges
346 +
347 + Code clean-up.
348
230 - "git rebase --keep-empty" still removed an empty commit if the
231 - other side contained an empty commit (due to the "does an
232 - equivalent patch exist already?" check), which has been corrected.
349 + Will merge to 'next'.
350
351
235 -* pw/rebase-signoff (2018-03-20) 4 commits
236 - - rebase --keep-empty: always use interactive rebase
237 - - rebase -p: error out if --signoff is given
238 - - rebase: extend --signoff support
239 - - Merge branch 'pw/rebase-keep-empty-fixes' into pw/rebase-signoff
240 - (this branch uses pw/rebase-keep-empty-fixes.)
352 +* yk/filter-branch-non-committish-refs (2018-03-25) 1 commit
353 + - filter-branch: fix errors caused by refs that point at non-committish
354
242 - "git rebase" has learned to honor "--signoff" option when using
243 - backends other than "am" (but not "--preserve-merges").
355 +
356 +* ys/bisect-object-id-missing-conversion-fix (2018-03-25) 1 commit
357 + - bisect: use oid_to_hex() for converting object_id hashes to hex strings
358 +
359 + Code clean-up.
360 +
361 + Will merge to 'next'.
362
363 --------------------------------------------------
364 [Stalled]
@@ -328,10 +446,73 @@ of the repositories listed at
446 --------------------------------------------------
447 [Cooking]
448
331 -* dj/runtime-prefix (2018-03-19) 3 commits
449 +* ml/filter-branch-no-op-error (2018-03-15) 1 commit
450 + (merged to 'next' on 2018-03-15 at ba8ac48dec)
451 + + filter-branch: return 2 when nothing to rewrite
452 +
453 + "git filter-branch" learned to use a different exit code to allow
454 + the callers to tell the case where there was no new commits to
455 + rewrite from other error cases.
456 +
457 + Will cook in 'next'.
458 +
459 +
460 +* ab/install-symlinks (2018-03-15) 3 commits
461 + (merged to 'next' on 2018-03-15 at 99d6bd6cb3)
462 + + Makefile: optionally symlink libexec/git-core binaries to bin/git
463 + + Makefile: add a gitexecdir_relative variable
464 + + Makefile: fix broken bindir_relative variable
465 +
466 + The build procedure learned to optionally use symbolic links
467 + (instead of hardlinks and copies) to install "git-foo" for built-in
468 + commands, whose binaries are all identical.
469 +
470 + Will cook in 'next'.
471 +
472 +
473 +* tg/stash-untracked-with-pathspec-fix (2018-03-21) 4 commits
474 + (merged to 'next' on 2018-03-22 at 73c4bef74f)
475 + + stash: drop superfluos pathspec parameter
476 + (merged to 'next' on 2018-03-21 at 8f5b5ab131)
477 + + stash push -u: don't create empty stash
478 + + stash push: avoid printing errors
479 + + stash: fix nonsense pipeline
480 +
481 + "git stash push -u -- <pathspec>" gave an unnecessary and confusing
482 + error message when there was no tracked files that match the
483 + <pathspec>, which has been fixed.
484 +
485 + Will cook in 'next'.
486 +
487 +
488 +* pw/rebase-keep-empty-fixes (2018-03-20) 4 commits
489 + - SQUASH???
490 + - rebase: respect --no-keep-empty
491 + - rebase -i --keep-empty: don't prune empty commits
492 + - rebase --root: stop assuming squash_onto is unset
493 + (this branch is used by pw/rebase-signoff.)
494 +
495 + "git rebase --keep-empty" still removed an empty commit if the
496 + other side contained an empty commit (due to the "does an
497 + equivalent patch exist already?" check), which has been corrected.
498 +
499 +
500 +* pw/rebase-signoff (2018-03-20) 4 commits
501 + - rebase --keep-empty: always use interactive rebase
502 + - rebase -p: error out if --signoff is given
503 + - rebase: extend --signoff support
504 + - Merge branch 'pw/rebase-keep-empty-fixes' into pw/rebase-signoff
505 + (this branch uses pw/rebase-keep-empty-fixes.)
506 +
507 + "git rebase" has learned to honor "--signoff" option when using
508 + backends other than "am" (but not "--preserve-merges").
509 +
510 +
511 +* dj/runtime-prefix (2018-03-25) 3 commits
512 - exec_cmd: RUNTIME_PREFIX on some POSIX systems
513 - Makefile: add Perl runtime prefix support
514 - Makefile: generate Perl header from template file
515 + (this branch is used by js/runtime-prefix-windows.)
516
517 A build-time option has been added to allow Git to be told to refer
518 to its associated files relative to the main binary, in the same
@@ -404,21 +585,13 @@ of the repositories listed at
585 + cache-tree: convert write_*_as_tree to object_id
586 + builtin/write-tree: convert to struct object_id
587 + bulk-checkin: convert index_bulk_checkin to struct object_id
588 + (this branch is used by ds/bsearch-hash.)
589
590 Conversion from uchar[20] to struct object_id continues.
591
592 Will cook in 'next'.
593
594
413 -* jh/fsck-promisors (2018-03-13) 1 commit
414 - (merged to 'next' on 2018-03-15 at 0c283dbe5e)
415 - + sha1_file: restore OBJECT_INFO_QUICK functionality
416 -
417 - A hotfix to a topic that graduated recently.
418 -
419 - Will merge to 'master'.
420 -
421 -
595 * ma/shortlog-revparse (2018-03-15) 3 commits
596 (merged to 'next' on 2018-03-15 at 2c2de7eb95)
597 + shortlog: disallow left-over arguments outside repo
@@ -474,29 +647,32 @@ of the repositories listed at
647 the current theme.
648
649
477 -* nd/pack-objects-pack-struct (2018-03-19) 11 commits
478 - . pack-objects: reorder members to shrink struct object_entry
479 - . pack-objects: shrink delta_size field in struct object_entry
480 - . pack-objects: shrink size field in struct object_entry
481 - . pack-objects: shrink z_delta_size field in struct object_entry
482 - . pack-objects: refer to delta objects by index instead of pointer
483 - . pack-objects: move in_pack out of struct object_entry
484 - . pack-objects: move in_pack_pos out of struct object_entry
485 - . pack-objects: use bitfield for object_entry::depth
486 - . pack-objects: use bitfield for object_entry::dfs_state
487 - . pack-objects: turn type and in_pack_type to bitfields
488 - . pack-objects: a bit of document about struct object_entry
650 +* nd/pack-objects-pack-struct (2018-03-26) 13 commits
651 + - pack-objects: reorder members to shrink struct object_entry
652 + - pack-objects: shrink delta_size field in struct object_entry
653 + - pack-objects: shrink size field in struct object_entry
654 + - pack-objects: clarify the use of object_entry::size
655 + - pack-objects: don't check size when the object is bad
656 + - pack-objects: shrink z_delta_size field in struct object_entry
657 + - pack-objects: refer to delta objects by index instead of pointer
658 + - pack-objects: move in_pack out of struct object_entry
659 + - pack-objects: move in_pack_pos out of struct object_entry
660 + - pack-objects: use bitfield for object_entry::depth
661 + - pack-objects: use bitfield for object_entry::dfs_state
662 + - pack-objects: turn type and in_pack_type to bitfields
663 + - pack-objects: a bit of document about struct object_entry
664
665 "git pack-objects" needs to allocate tons of "struct object_entry"
666 while doing its work, and shrinking its size helps the performance
667 quite a bit.
668
669
495 -* nd/repack-keep-pack (2018-03-07) 6 commits
496 - - SQUASH???
497 - - pack-objects: display progress in get_object_details()
670 +* nd/repack-keep-pack (2018-03-26) 7 commits
671 - pack-objects: show some progress when counting kept objects
672 - gc --auto: exclude base pack if not enough mem to "repack -ad"
673 + - gc: handle a corner case in gc.bigPackThreshold
674 + - gc: add gc.bigPackThreshold config
675 + - gc: add --keep-largest-pack option
676 - repack: add --keep-pack option
677 - t7700: have closing quote of a test at the beginning of line
678
@@ -542,14 +718,19 @@ of the repositories listed at
718 cf. <CAE5ih7_ooDMqVtTMoQ70s5XCkncr04HY0JkqSp1UmKQeG81oaA@mail.gmail.com>
719
720
545 -* ps/contains-id-error-message (2018-03-19) 1 commit
546 - - Make options that expect object ids less chatty if id is invalid
721 +* ps/contains-id-error-message (2018-03-22) 1 commit
722 + (merged to 'next' on 2018-03-22 at 3bb1dcd506)
723 + + parse-options: do not show usage upon invalid option value
724
725 "git tag --contains no-such-commit" gave a full list of options
726 after giving an error message.
727
728 + Will cook in 'next'.
729 +
730
552 -* nd/remove-ignore-env-field (2018-03-05) 5 commits
731 +* nd/remove-ignore-env-field (2018-03-23) 6 commits
732 + (merged to 'next' on 2018-03-23 at ba9d0f2565)
733 + + repository.h: add comment and clarify repo_set_gitdir
734 (merged to 'next' on 2018-03-15 at 802b6ea1cb)
735 + repository: delete ignore_env member
736 + sha1_file.c: move delayed getenv(altdb) back to setup_git_env()
@@ -563,7 +744,7 @@ of the repositories listed at
744 Will cook in 'next'.
745
746
566 -* sb/object-store (2018-03-05) 27 commits
747 +* sb/object-store (2018-03-26) 27 commits
748 - sha1_file: allow sha1_loose_object_info to handle arbitrary repositories
749 - sha1_file: allow map_sha1_file to handle arbitrary repositories
750 - sha1_file: allow map_sha1_file_1 to handle arbitrary repositories
@@ -602,7 +783,7 @@ of the repositories listed at
783 Waiting for a follow-up discussion.
784
785
605 -* sb/packfiles-in-repository (2018-03-05) 12 commits
786 +* sb/packfiles-in-repository (2018-03-26) 12 commits
787 - packfile: keep prepare_packed_git() private
788 - packfile: allow find_pack_entry to handle arbitrary repositories
789 - packfile: add repository argument to find_pack_entry
@@ -622,16 +803,6 @@ of the repositories listed at
803 Waiting for a follow-up discussion.
804
805
625 -* ma/skip-writing-unchanged-index (2018-03-01) 1 commit
626 - (merged to 'next' on 2018-03-15 at cdbbc66464)
627 - + write_locked_index(): add flag to avoid writing unchanged index
628 -
629 - Internal API clean-up to allow write_locked_index() optionally skip
630 - writing the in-core index when it is not modified.
631 -
632 - Will merge to 'master'.
633 -
634 -
806 * ds/commit-graph (2018-03-14) 17 commits
807 - SQUASH??? sparse fixes
808 - commit-graph: implement "--additive" option
@@ -657,20 +828,6 @@ of the repositories listed at
828 It seems that this topic is getting there.
829
830
660 -* ma/config-page-only-in-list-mode (2018-02-21) 3 commits
661 - (merged to 'next' on 2018-03-15 at 652430af12)
662 - + config: change default of `pager.config` to "on"
663 - + config: respect `pager.config` in list/get-mode only
664 - + t7006: add tests for how git config paginates
665 -
666 - In a way similar to how "git tag" learned to honor the pager
667 - setting only in the list mode, "git config" learned to ignore the
668 - pager setting when it is used for setting values (i.e. when the
669 - purpose of the operation is not to "show").
670 -
671 - Will merge to 'master'.
672 -
673 -
831 * pc/submodule-helper-foreach (2018-02-02) 5 commits
832 - submodule: port submodule subcommand 'foreach' from shell to C
833 - submodule foreach: document variable '$displaypath'
@@ -682,9 +839,11 @@ of the repositories listed at
839 e.g. cf. <20180206150044.1bffbb573c088d38c8e44bf5@google.com>
840
841
685 -* tg/worktree-add-existing-branch (2018-03-19) 4 commits
842 +* tg/worktree-add-existing-branch (2018-03-27) 6 commits
843 + - t2025: rename now outdated branch name
844 - worktree: teach "add" to check out existing branches
845 - worktree: factor out dwim_branch function
846 + - worktree: remove force_new_branch from struct add_opts
847 - worktree: be clearer when "add" dwim-ery kicks in
848 - worktree: improve message when creating a new worktree
849