What's cooking (2017/08 #02)

Junio C Hamano committed Aug 11, 2017 at 17:51 UTC 02d1a5548265dff7107d7d0458f29b1797377246
1 file changed +650 -458
whats-cooking.txt
+650 -458
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Aug 2017, #01; Fri, 4)
4 -X-master-at: 4384e3cde2ce8ecd194202e171ae16333d241326
5 -X-next-at: 98096fd7a85b93626db8757f944f2d8ffdf7e96a
3 +Subject: What's cooking in git.git (Aug 2017, #02; Fri, 11)
4 +X-master-at: b3622a4ee94e4916cd05e6d96e41eeb36b941182
5 +X-next-at: b18f417b8938ccf4d9dfc9a6ecca90dcaa2868f7
6
7 -What's cooking in git.git (Aug 2017, #01; Fri, 4)
7 +What's cooking in git.git (Aug 2017, #02; Fri, 11)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -12,14 +12,18 @@ 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 2.14-rc2 was a bit delayed for various reasons and then there
16 -wasn't any last-minite regressions discovered and fixed during that
17 -timeframe, so I just decided to skip the second release candidate
18 -and go straight to tag the final, which was done a few minutes ago.
15 +The first batch of 32 topics (not counting the v2.14.1 update which
16 +was a security fix), which are the ones that have been cooking in
17 +'next' during the pre-release freeze period, have now been merged to
18 +'master'. I have not really started pickng up new topics posted to
19 +the list yet and yet to rewind and rebuild the 'next' branch to
20 +start a new cycle. Hopefully it can happen early next week.
21
20 -I expect that the tree to stay a bit quiet for a week until the first
21 -maintenance release for 2.14 series is tagged, perhaps by the end of
22 -the next week.
22 +The top part of the draft release notes for the next cycle, which I
23 +tentatively called Git 2.15, declares that "git add ''" will still
24 +be supported up to this release but will become illegal after that.
25 +Given that a typical release cycle is 8-12 weeks, that will happen
26 +sometime early next year.
27
28 You can find the changes described here in the integration branches
29 of the repositories listed at
@@ -29,28 +33,153 @@ of the repositories listed at
33 --------------------------------------------------
34 [Graduated to "master"]
35
32 -* ah/patch-id-doc (2017-07-28) 1 commit
33 - (merged to 'next' on 2017-08-04 at 7808b7abd3)
34 - + doc: remove unsupported parameter from patch-id
36 +* ah/doc-wserrorhighlight (2017-07-25) 1 commit
37 + (merged to 'next' on 2017-07-27 at cd1bb28d95)
38 + + doc: add missing values "none" and "default" for diff.wsErrorHighlight
39 +
40 + Doc update.
41 +
42 +
43 +* bc/object-id (2017-07-17) 12 commits
44 + (merged to 'next' on 2017-07-18 at fd161056e4)
45 + + sha1_name: convert uses of 40 to GIT_SHA1_HEXSZ
46 + + sha1_name: convert GET_SHA1* flags to GET_OID*
47 + + sha1_name: convert get_sha1* to get_oid*
48 + + Convert remaining callers of get_sha1 to get_oid.
49 + + builtin/unpack-file: convert to struct object_id
50 + + bisect: convert bisect_checkout to struct object_id
51 + + builtin/update_ref: convert to struct object_id
52 + + sequencer: convert to struct object_id
53 + + remote: convert struct push_cas to struct object_id
54 + + submodule: convert submodule config lookup to use object_id
55 + + builtin/merge-tree: convert remaining caller of get_sha1 to object_id
56 + + builtin/fsck: convert remaining caller of get_sha1 to object_id
57 + (this branch is used by bw/submodule-config-cleanup; uses sb/object-id.)
58 +
59 + Conversion from uchar[20] to struct object_id continues.
60
36 - Docfix.
61
62 +* bw/object-id (2017-07-17) 3 commits
63 + (merged to 'next' on 2017-07-18 at 90d27c0e7c)
64 + + receive-pack: don't access hash of NULL object_id pointer
65 + + notes: don't access hash of NULL object_id pointer
66 + + tree-diff: don't access hash of NULL object_id pointer
67
39 -* as/diff-options-grammofix (2017-07-31) 1 commit
40 - (merged to 'next' on 2017-08-01 at bfc60e3ec5)
41 - + diff-options doc: grammar fix
68 + Conversion from uchar[20] to struct object_id continues.
69
43 - A grammofix.
70
71 +* cc/ref-is-hidden-microcleanup (2017-07-24) 1 commit
72 + (merged to 'next' on 2017-07-27 at 37af544e1c)
73 + + refs: use skip_prefix() in ref_is_hidden()
74
46 -* js/blame-lib (2017-07-24) 1 commit
47 - (merged to 'next' on 2017-07-26 at db0d081012)
48 - + blame: fix memory corruption scrambling revision name in error message
75 + Code cleanup.
76
50 - A hotfix to a topic already in 'master'.
77
52 ---------------------------------------------------
53 -[New Topics]
78 +* dc/fmt-merge-msg-microcleanup (2017-07-25) 1 commit
79 + (merged to 'next' on 2017-07-27 at 6df06eb788)
80 + + fmt-merge-msg: fix coding style
81 +
82 + Code cleanup.
83 +
84 +
85 +* dl/credential-cache-socket-in-xdg-cache (2017-07-27) 1 commit
86 + (merged to 'next' on 2017-08-01 at 87687ae1d4)
87 + + credential-cache: interpret an ECONNRESET as an EOF
88 +
89 + A recently added test for the "credential-cache" helper revealed
90 + that EOF detection done around the time the connection to the cache
91 + daemon is torn down were flaky. This was fixed by reacting to
92 + ECONNRESET and behaving as if we got an EOF.
93 +
94 +
95 +* eb/contacts-reported-by (2017-07-27) 1 commit
96 + (merged to 'next' on 2017-08-01 at cca9972d6b)
97 + + git-contacts: also recognise "Reported-by:"
98 +
99 + "git contacts" (in contrib/) now lists the address on the
100 + "Reported-by:" trailer to its output, in addition to those on
101 + S-o-b: and other trailers, to make it easier to notify (and thank)
102 + the original bug reporter.
103 +
104 +
105 +* hb/gitweb-project-list (2017-07-18) 1 commit
106 + (merged to 'next' on 2017-07-27 at c25d65ca25)
107 + + gitweb: skip unreadable subdirectories
108 +
109 + When a directory is not readable, "gitweb" fails to build the
110 + project list. Work this around by skipping such a directory.
111 +
112 + It might end up hiding a problem under the rug and a better
113 + solution might be to loudly complain to the administrator pointing
114 + out the problematic directory, but this will at least make it
115 + "work".
116 +
117 +
118 +* jb/t8008-cleanup (2017-07-26) 1 commit
119 + (merged to 'next' on 2017-08-01 at f979c9340d)
120 + + t8008: rely on rev-parse'd HEAD instead of sha1 value
121 +
122 + Code clean-up.
123 +
124 +
125 +* jc/http-sslkey-and-ssl-cert-are-paths (2017-07-20) 1 commit
126 + (merged to 'next' on 2017-07-20 at 5489304b99)
127 + + http.c: http.sslcert and http.sslkey are both pathnames
128 +
129 + The http.{sslkey,sslCert} configuration variables are to be
130 + interpreted as a pathname that honors "~[username]/" prefix, but
131 + weren't, which has been fixed.
132 +
133 +
134 +* jk/c99 (2017-07-18) 2 commits
135 + (merged to 'next' on 2017-07-18 at 1cfc30f7c1)
136 + + clean.c: use designated initializer
137 + + strbuf: use designated initializers in STRBUF_INIT
138 +
139 + Start using selected c99 constructs in small, stable and
140 + essentialpart of the system to catch people who care about
141 + older compilers that do not grok them.
142 +
143 +
144 +* jk/ref-filter-colors (2017-07-13) 15 commits
145 + (merged to 'next' on 2017-07-18 at 75d4eb7ecf)
146 + + ref-filter: consult want_color() before emitting colors
147 + + pretty: respect color settings for %C placeholders
148 + + rev-list: pass diffopt->use_colors through to pretty-print
149 + + for-each-ref: load config earlier
150 + + color: check color.ui in git_default_config()
151 + + ref-filter: pass ref_format struct to atom parsers
152 + + ref-filter: factor out the parsing of sorting atoms
153 + + ref-filter: make parse_ref_filter_atom a private function
154 + + ref-filter: provide a function for parsing sort options
155 + + ref-filter: move need_color_reset_at_eol into ref_format
156 + + ref-filter: abstract ref format into its own struct
157 + + ref-filter: simplify automatic color reset
158 + + t: use test_decode_color rather than literal ANSI codes
159 + + docs/for-each-ref: update pointer to color syntax
160 + + check return value of verify_ref_format()
161 +
162 + "%C(color name)" in the pretty print format always produced ANSI
163 + color escape codes, which was an early design mistake. They now
164 + honor the configuration (e.g. "color.ui = never") and also tty-ness
165 + of the output medium.
166 +
167 +
168 +* jk/reflog-walk (2017-07-09) 9 commits
169 + (merged to 'next' on 2017-07-09 at 7449e964c6)
170 + + reflog-walk: apply --since/--until to reflog dates
171 + + reflog-walk: stop using fake parents
172 + + rev-list: check reflog_info before showing usage
173 + + get_revision_1(): replace do-while with an early return
174 + + log: do not free parents when walking reflog
175 + + log: clarify comment about reflog cycles
176 + + revision: disallow reflog walking with revs->limited
177 + + t1414: document some reflog-walk oddities
178 + + Merge branch 'jk/reflog-walk-maint' into jk/reflog-walk
179 +
180 + Numerous bugs in walking of reflogs via "log -g" and friends have
181 + been fixed.
182 +
183
184 * jk/rev-list-empty-input (2017-08-02) 4 commits
185 (merged to 'next' on 2017-08-04 at cb4f9b84e0)
@@ -62,7 +191,47 @@ of the repositories listed at
191 "git log --tag=no-such-tag" showed log starting from HEAD, which
192 has been fixed---it now shows nothing.
193
65 - Will cook in 'next'.
194 +
195 +* js/git-gui-msgfmt-on-windows (2017-07-25) 7 commits
196 + (merged to 'next' on 2017-08-01 at 219577a73e)
197 + + Merge branch 'js/msgfmt-on-windows' of ../git-gui into js/git-gui-msgfmt-on-windows
198 + + git-gui (MinGW): make use of MSys2's msgfmt
199 + + Merge remote-tracking branch 'philoakley/dup-gui'
200 + + git gui: allow for a long recentrepo list
201 + + git gui: de-dup selected repo from recentrepo history
202 + + git gui: cope with duplicates in _get_recentrepo
203 + + git-gui: remove duplicate entries from .gitconfig's gui.recentrepo
204 +
205 + Because recent Git for Windows do come with a real msgfmt, the
206 + build procedure for git-gui has been updated to use it instead of a
207 + hand-rolled substitute.
208 +
209 +
210 +* js/run-process-parallel-api-fix (2017-07-21) 1 commit
211 + (merged to 'next' on 2017-07-27 at 4b54b69172)
212 + + run_processes_parallel: change confusing task_cb convention
213 +
214 + API fix.
215 +
216 +
217 +* jt/fsck-code-cleanup (2017-07-26) 3 commits
218 + (merged to 'next' on 2017-07-26 at 7a17e279da)
219 + + fsck: cleanup unused variable
220 + (merged to 'next' on 2017-07-20 at f7045a8c47)
221 + + object: remove "used" field from struct object
222 + + fsck: remove redundant parse_tree() invocation
223 +
224 + Code clean-up.
225 +
226 +
227 +* jt/subprocess-handshake (2017-07-26) 3 commits
228 + (merged to 'next' on 2017-08-01 at a0f78deffd)
229 + + sub-process: refactor handshake to common function
230 + + Documentation: migrate sub-process docs to header
231 + + Merge branch 'ls/filter-process-delayed' into jt/subprocess-handshake
232 + (this branch uses ls/filter-process-delayed.)
233 +
234 + Code cleanup.
235
236
237 * jt/t1450-fsck-corrupt-packfile (2017-07-28) 1 commit
@@ -71,7 +240,41 @@ of the repositories listed at
240
241 A test update.
242
74 - Will cook in 'next'.
243 +
244 +* ks/commit-abort-on-empty-message-fix (2017-07-17) 1 commit
245 + (merged to 'next' on 2017-07-27 at e81ad4c1dc)
246 + + commit: check for empty message before the check for untouched template
247 +
248 + "git commit" when seeing an totally empty message said "you did not
249 + edit the message", which is clearly wrong. The message has been
250 + corrected.
251 +
252 +
253 +* ks/prepare-commit-msg-sample (2017-07-12) 4 commits
254 + (merged to 'next' on 2017-07-18 at 48d9650a30)
255 + + hook: add a simple first example
256 + + hook: add sign-off using "interpret-trailers"
257 + + hook: name the positional variables
258 + + hook: cleanup script
259 +
260 + Remove an example that is now obsolete from a sample hook,
261 + and improve an old example in it that added a sign-off manually
262 + to use the interpret-trailers command.
263 +
264 +
265 +* ls/filter-process-delayed (2017-06-30) 7 commits
266 + (merged to 'next' on 2017-07-05 at a35e644082)
267 + + convert: add "status=delayed" to filter process protocol
268 + + convert: refactor capabilities negotiation
269 + + convert: move multiple file filter error handling to separate function
270 + + convert: put the flags field before the flag itself for consistent style
271 + + t0021: write "OUT <size>" only on success
272 + + t0021: make debug log file name configurable
273 + + t0021: keep filter log files on comparison
274 + (this branch is used by jt/subprocess-handshake.)
275 +
276 + The filter-process interface learned to allow a process with long
277 + latency give a "delayed" response.
278
279
280 * ma/pager-per-subcommand-action (2017-08-03) 7 commits
@@ -90,499 +293,581 @@ of the repositories listed at
293 pager depending on what operation is being carried out to fix this,
294 and then "git tag -l" is made to run pager by default.
295
93 - Will cook in 'next'.
94 -
296 If this works out OK, I think there are low-hanging fruits in
297 other commands like "git branch" that outputs long list in one mode
298 while taking input in another.
299
300
100 -* pw/sequence-rerere-autoupdate (2017-08-02) 6 commits
101 - - cherry-pick/revert: reject --rerere-autoupdate when continuing
102 - - cherry-pick/revert: remember --rerere-autoupdate
103 - - t3504: use test_commit
104 - - rebase -i: honor --rerere-autoupdate
105 - - rebase: honor --rerere-autoupdate
106 - - am: remember --rerere-autoupdate setting
301 +* rg/rerere-train-overwrite (2017-07-26) 1 commit
302 + (merged to 'next' on 2017-08-01 at 7fcd42974c)
303 + + contrib/rerere-train: optionally overwrite existing resolutions
304
108 - Commands like "git rebase" accepted the --rerere-autoupdate option
109 - from the command line, but did not always use it. This has been
110 - fixed.
305 + The "rerere-train" script (in contrib/) learned the "--overwrite"
306 + option to allow overwriting existing recorded resolutions.
307
112 - Will merge to and cook in 'next'.
308
309 +* rs/bswap-ubsan-fix (2017-07-17) 2 commits
310 + (merged to 'next' on 2017-07-20 at ce6bad07b0)
311 + + bswap: convert get_be16, get_be32 and put_be32 to inline functions
312 + + bswap: convert to unsigned before shifting in get_be32
313
115 -* bw/clone-recursive-quiet (2017-08-04) 1 commit
116 - - clone: teach recursive clones to respect -q
314 + Code clean-up.
315
118 - "git clone --recurse-submodules --quiet" did not pass the quiet
119 - option down to submodules.
316
121 - Will merge to and cook in 'next'.
317 +* rs/move-array (2017-07-17) 4 commits
318 + (merged to 'next' on 2017-07-20 at f3086cd20e)
319 + + ls-files: don't try to prune an empty index
320 + + apply: use COPY_ARRAY and MOVE_ARRAY in update_image()
321 + + use MOVE_ARRAY
322 + + add MOVE_ARRAY
323 +
324 + Code clean-up.
325 +
326 +
327 +* rs/pack-objects-pbase-cleanup (2017-07-20) 1 commit
328 + (merged to 'next' on 2017-07-20 at a6b618559b)
329 + + pack-objects: remove unnecessary NULL check
330 +
331 + Code clean-up.
332 +
333 +
334 +* rs/stat-data-unaligned-reads-fix (2017-07-17) 1 commit
335 + (merged to 'next' on 2017-07-20 at e7d3782823)
336 + + dir: support platforms that require aligned reads
337 +
338 + Code clean-up.
339 +
340 +
341 +* sb/hashmap-cleanup (2017-07-05) 10 commits
342 + (merged to 'next' on 2017-07-12 at ce31d06165)
343 + + t/helper/test-hashmap: use custom data instead of duplicate cmp functions
344 + + name-hash.c: drop hashmap_cmp_fn cast
345 + + submodule-config.c: drop hashmap_cmp_fn cast
346 + + remote.c: drop hashmap_cmp_fn cast
347 + + patch-ids.c: drop hashmap_cmp_fn cast
348 + + convert/sub-process: drop cast to hashmap_cmp_fn
349 + + config.c: drop hashmap_cmp_fn cast
350 + + builtin/describe: drop hashmap_cmp_fn cast
351 + + builtin/difftool.c: drop hashmap_cmp_fn cast
352 + + attr.c: drop hashmap_cmp_fn cast
353 +
354 + Many uses of comparision callback function the hashmap API uses
355 + cast the callback function type when registering it to
356 + hashmap_init(), which defeats the compile time type checking when
357 + the callback interface changes (e.g. gaining more parameters).
358 + The callback implementations have been updated to take "void *"
359 + pointers and cast them to the type they expect instead.
360 +
361 +
362 +* sb/object-id (2017-07-13) 2 commits
363 + (merged to 'next' on 2017-07-18 at e4df0ba3b1)
364 + + tag: convert gpg_verify_tag to use struct object_id
365 + + commit: convert lookup_commit_graft to struct object_id
366 + (this branch is used by bc/object-id and bw/submodule-config-cleanup.)
367 +
368 + Conversion from uchar[20] to struct object_id continues.
369 +
370 +
371 +* st/lib-gpg-kill-stray-agent (2017-07-20) 1 commit
372 + (merged to 'next' on 2017-07-20 at 8ea68c483f)
373 + + t: lib-gpg: flush gpg agent on startup
374 +
375 + Some versions of GnuPG fails to kill gpg-agent it auto-spawned
376 + and such a left-over agent can interfere with a test. Work it
377 + around by attempting to kill one before starting a new test.
378 +
379 +
380 +* wd/rebase-conflict-guide (2017-07-17) 1 commit
381 + (merged to 'next' on 2017-07-20 at c78e758b23)
382 + + rebase: make resolve message clearer for inexperienced users
383 +
384 + The advice message given when "git rebase" stops for conflicting
385 + changes has been improved.
386
387 --------------------------------------------------
124 -[Stalled]
388 +[New Topics]
389
126 -* mg/status-in-progress-info (2017-05-10) 2 commits
127 - - status --short --inprogress: spell it as --in-progress
128 - - status: show in-progress info for short status
390 +* ab/ref-filter-no-contains (2017-08-07) 1 commit
391 + - tests: don't give unportable ">" to "test" built-in, use -gt
392
130 - "git status" learns an option to report various operations
131 - (e.g. "merging") that the user is in the middle of.
393 + A test fix.
394
133 - cf. <xmqqmvakcdqw.fsf@gitster.mtv.corp.google.com>
395 + Will merge to 'next'.
396
397
136 -* nd/worktree-move (2017-04-20) 6 commits
137 - - worktree remove: new command
138 - - worktree move: refuse to move worktrees with submodules
139 - - worktree move: accept destination as directory
140 - - worktree move: new command
141 - - worktree.c: add update_worktree_location()
142 - - worktree.c: add validate_worktree()
398 +* ma/parse-maybe-bool (2017-08-07) 6 commits
399 + - parse_decoration_style: drop unused argument `var`
400 + - treewide: deprecate git_config_maybe_bool, use git_parse_maybe_bool
401 + - config: make git_{config,parse}_maybe_bool equivalent
402 + - config: introduce git_parse_maybe_bool_text
403 + - t5334: document that git push --signed=1 does not work
404 + - Doc/git-{push,send-pack}: correct --sign= to --signed=
405
144 - "git worktree" learned move and remove subcommands.
406 + Code clean-up.
407
146 - Expecting a reroll.
147 - cf. <20170420101024.7593-1-pclouds@gmail.com>
148 - cf. <20170421145916.mknekgqzhxffu7di@sigill.intra.peff.net>
149 - cf. <d0e81b1e-5869-299e-f462-4d43dc997bd1@ramsayjones.plus.com>
408 + Will merge to 'next'.
409
410
152 -* sg/clone-refspec-from-command-line-config (2017-06-16) 2 commits
153 - - Documentation/clone: document ignored configuration variables
154 - - clone: respect additional configured fetch refspecs during initial fetch
155 - (this branch is used by sg/remote-no-string-refspecs.)
411 +* mf/no-dashed-subcommands (2017-08-07) 1 commit
412 + - scripts: use "git foo" not "git-foo"
413
157 - "git clone -c var=val" is a way to set configuration variables in
158 - the resulting repository, but it is more useful to also make these
159 - variables take effect while the initial clone is happening,
160 - e.g. these configuration variables could be fetch refspecs.
414 + Code clean-up.
415
162 - Waiting for a response.
163 - cf. <20170617112228.vugswym4o4owf6wj@sigill.intra.peff.net>
164 - cf. <xmqqmv8zhdap.fsf@gitster.mtv.corp.google.com>
416 + Will merge to 'next'.
417
418
167 -* js/rebase-i-final (2017-07-27) 10 commits
168 - - rebase -i: rearrange fixup/squash lines using the rebase--helper
169 - - t3415: test fixup with wrapped oneline
170 - - rebase -i: skip unnecessary picks using the rebase--helper
171 - - rebase -i: check for missing commits in the rebase--helper
172 - - t3404: relax rebase.missingCommitsCheck tests
173 - - rebase -i: also expand/collapse the SHA-1s via the rebase--helper
174 - - rebase -i: do not invent onelines when expanding/collapsing SHA-1s
175 - - rebase -i: remove useless indentation
176 - - rebase -i: generate the script via rebase--helper
177 - - t3415: verify that an empty instructionFormat is handled as before
419 +* mk/diff-delta-uint-may-be-shorter-than-ulong (2017-08-10) 1 commit
420 + - diff-delta: fix encoding size that would not fit in "unsigned int"
421
179 - The final batch to "git rebase -i" updates to move more code from
180 - the shell script to C.
422 + The machinery to create xdelta used in pack files received the
423 + sizes of the data in size_t, but lost the higher bits of them by
424 + storing them in "unsigned int" during the computation, which is
425 + fixed.
426 +
427 + Will merge to 'next'.
428 +
429 +
430 +* rs/freebsd-getcwd-workaround (2017-08-07) 1 commit
431 + - t0001: skip test with restrictive permissions if getpwd(3) respects them
432 +
433 + Test portability fix for BSDs.
434 +
435 + Will merge to 'next'.
436 +
437 +
438 +* rs/in-obsd-basename-dirname-take-const (2017-08-07) 1 commit
439 + - test-path-utils: handle const parameter of basename and dirname
440 +
441 + Portability fix.
442 +
443 + Will merge to 'next'.
444 +
445 +
446 +* rs/t3700-clean-leftover (2017-08-08) 1 commit
447 + - t3700: fix broken test under !POSIXPERM
448 +
449 + A test fix.
450 +
451 + Will merge to 'next'.
452 +
453 +
454 +* jc/perl-git-comment-typofix (2017-08-07) 1 commit
455 + - perl/Git.pm: typofix in a comment
456 +
457 + A comment fix.
458 +
459 + Will merge to 'next'.
460 +
461 +
462 +* jk/drop-ancient-curl (2017-08-09) 5 commits
463 + . http: #error on too-old curl
464 + . curl: remove ifdef'd code never used with curl >=7.19.4
465 + . http: drop support for curl < 7.19.4
466 + . http: drop support for curl < 7.16.0
467 + . http: drop support for curl < 7.11.1
468 +
469 +
470 +* jk/drop-sha1-entry-pos (2017-08-09) 1 commit
471 + - sha1_file: drop experimental GIT_USE_LOOKUP search
472 +
473 + Code clean-up.
474 +
475 + Will merge to 'next'.
476 +
477 +
478 +* jk/hashcmp-memcmp (2017-08-09) 1 commit
479 + - hashcmp: use memcmp instead of open-coded loop
480
182 - Expecting a reroll.
481 + Code clean-up.
482
483 + Will merge to 'next'.
484
185 -* bp/fsmonitor (2017-06-12) 6 commits
186 - - fsmonitor: add a sample query-fsmonitor hook script for Watchman
187 - - fsmonitor: add documentation for the fsmonitor extension.
188 - - fsmonitor: add test cases for fsmonitor extension
189 - - fsmonitor: teach git to optionally utilize a file system monitor to speed up detecting new or changed files.
190 - - dir: make lookup_untracked() available outside of dir.c
191 - - bswap: add 64 bit endianness helper get_be64
485
193 - We learned to talk to watchman to speed up "git status".
486 +* jk/trailers-parse (2017-08-10) 5 commits
487 + - interpret-trailers: add --parse convenience option
488 + - interpret-trailers: add an option to normalize output
489 + - interpret-trailers: add an option to show only existing trailers
490 + - interpret-trailers: add an option to show only the trailers
491 + - trailer: put process_trailers() options into a struct
492
195 - Expecting a reroll.
196 - cf. <bade1166-e646-b05a-f65b-adb8da8ba0a7@gmail.com>
493
198 ---------------------------------------------------
199 -[Cooking]
494 +* mk/use-size-t-in-zlib (2017-08-10) 1 commit
495 + - zlib.c: use size_t for size
496
201 -* ah/doc-wserrorhighlight (2017-07-25) 1 commit
202 - (merged to 'next' on 2017-07-27 at cd1bb28d95)
203 - + doc: add missing values "none" and "default" for diff.wsErrorHighlight
497 + The wrapper to call into zlib followed our long tradition to use
498 + "unsigned long" for sizes of regions in memory, which have been
499 + updated to use "size_t".
500
205 - Doc update.
501 + Will merge to 'next'.
502
207 - Will cook in 'next'.
503
504 +* pw/am-signoff (2017-08-08) 1 commit
505 + - am: fix signoff when other trailers are present
506
210 -* dc/fmt-merge-msg-microcleanup (2017-07-25) 1 commit
211 - (merged to 'next' on 2017-07-27 at 6df06eb788)
212 - + fmt-merge-msg: fix coding style
507 + "git am -s" has been taught that some input may end with a trailer
508 + block that is not Signed-off-by: and it should refrain from adding
509 + an extra blank line before adding a new sign-off in such a case.
510
214 - Code cleanup.
511 + Will merge to 'next'.
512
216 - Will cook in 'next'.
513
514 +* rj/add-chmod-error-message (2017-08-09) 1 commit
515 + - builtin/add: add detail to a 'cannot chmod' error message
516
219 -* js/git-gui-msgfmt-on-windows (2017-07-25) 7 commits
220 - (merged to 'next' on 2017-08-01 at 219577a73e)
221 - + Merge branch 'js/msgfmt-on-windows' of ../git-gui into js/git-gui-msgfmt-on-windows
222 - + git-gui (MinGW): make use of MSys2's msgfmt
223 - + Merge remote-tracking branch 'philoakley/dup-gui'
224 - + git gui: allow for a long recentrepo list
225 - + git gui: de-dup selected repo from recentrepo history
226 - + git gui: cope with duplicates in _get_recentrepo
227 - + git-gui: remove duplicate entries from .gitconfig's gui.recentrepo
517 + Message fix.
518
229 - Because recent Git for Windows do come with a real msgfmt, the
230 - build procedure for git-gui has been updated to use it instead of a
231 - hand-rolled substitute.
519 + Will merge to 'next'.
520
233 - Will cook in 'next'.
234 - As we haven't heard from Pat, let's advance the update to 'next'
235 - ourselves.
521
522 +* rs/apply-lose-prefix-length (2017-08-09) 1 commit
523 + - apply: remove prefix_length member from apply_state
524
238 -* jt/subprocess-handshake (2017-07-26) 3 commits
239 - (merged to 'next' on 2017-08-01 at a0f78deffd)
240 - + sub-process: refactor handshake to common function
241 - + Documentation: migrate sub-process docs to header
242 - + Merge branch 'ls/filter-process-delayed' into jt/subprocess-handshake
243 - (this branch uses ls/filter-process-delayed.)
525 + Code clean-up.
526
245 - Code cleanup.
527 + Will merge to 'next'.
528
247 - Will cook in 'next'.
529
530 +* rs/find-pack-entry-bisection (2017-08-09) 1 commit
531 + - sha1_file: avoid comparison if no packed hash matches the first byte
532
250 -* lg/merge-signoff (2017-07-25) 1 commit
251 - - merge: add a --signoff flag
533 + Code clean-up.
534
253 - "git merge" learned a "--signoff" option to add the Signed-off-by:
254 - trailer with the committer's name.
535 + Will merge to 'next'.
536
537
257 -* pb/trailers-from-command-line (2017-07-25) 4 commits
258 - - SQUASH???
259 - - interpret-trailers: add options for actions
260 - - trailers: introduce struct new_trailer_item
261 - - trailers: export action enums and corresponding lookup functions
538 +* rs/fsck-obj-leakfix (2017-08-10) 1 commit
539 + - fsck: free buffers on error in fsck_obj()
540
263 - "git interpret-trailers" learned to take the trailer specifications
264 - from the command line that overrides the configured values.
541 + Memory leak in an error codepath has been plugged.
542
266 - Expecting a reroll for compilation fix.
543 + Will merge to 'next'.
544
545
269 -* sb/submodule-recursive-checkout-detach-head (2017-07-28) 2 commits
270 - - Documentation/checkout: clarify submodule HEADs to be detached
271 - - recursive submodules: detach HEAD from new state
546 +* rs/merge-microcleanup (2017-08-10) 1 commit
547 + - merge: use skip_prefix()
548
273 - "git checkout --recursive" may overwrite and rewind the history of
274 - the branch that happens to be checked out in submodule
275 - repositories, which might not be desirable. Detach the HEAD but
276 - still allow the recursive checkout to succeed in such a case.
549 + Code clean-up.
550
278 - Undecided.
279 - This needs justification in a larger picture; it is unclear why
280 - this is better than rejecting recursive checkout, for example.
551 + Will merge to 'next'.
552
553
283 -* ti/external-sha1dc (2017-07-25) 1 commit
284 - (merged to 'next' on 2017-07-27 at d1ce394fe2)
285 - + hash: allow building with the external sha1dc library
554 +* rs/strbuf-getwholeline-fix (2017-08-10) 1 commit
555 + - strbuf: clear errno before calling getdelim(3)
556
287 - Platforms that ship with a separate sha1 with collision detection
288 - library can link to it instead of using the copy we ship as part of
289 - our source tree.
557 + A helper function to read a single whole line into strbuf
558 + mistakenly triggered OOM error at EOF under certain conditions,
559 + which has been fixed.
560
291 - Waiting for review to conclude
292 - cf. <CACBZZX7M=H8tNkZXpHBvv0rbY58EJk4dkoUzGKMftWoKUqF8sA@mail.gmail.com>
561 + Will merge to 'next'.
562
563
295 -* bw/submodule-config-cleanup (2017-08-03) 17 commits
296 - - submodule: remove gitmodules_config
297 - - unpack-trees: improve loading of .gitmodules
298 - - submodule-config: lazy-load a repository's .gitmodules file
299 - - submodule-config: move submodule-config functions to submodule-config.c
300 - - submodule-config: remove support for overlaying repository config
301 - - diff: stop allowing diff to have submodules configured in .git/config
302 - - submodule: remove submodule_config callback routine
303 - - unpack-trees: don't respect submodule.update
304 - - submodule: don't rely on overlayed config when setting diffopts
305 - - fetch: don't overlay config with submodule-config
306 - - submodule--helper: don't overlay config in update-clone
307 - - submodule--helper: don't overlay config in remote_submodule_branch
308 - - add, reset: ensure submodules can be added or reset
309 - - submodule: don't use submodule_from_name
310 - - t7411: check configuration parsing errors
311 - - Merge branch 'bc/object-id' into bw/submodule-config-cleanup
312 - - Merge branch 'bw/grep-recurse-submodules' into bw/submodule-config-cleanup
313 - (this branch uses bc/object-id, bw/grep-recurse-submodules and sb/object-id.)
564 +* rs/t4062-obsd (2017-08-09) 1 commit
565 + - t4062: use less than 256 repetitions in regex
566
315 - Code clean-up to avoid mixing values read from the .gitmodules file
316 - and values read from the .git/config file.
567 + Test portability fix.
568
569 + Will merge to 'next'.
570
319 -* jb/t8008-cleanup (2017-07-26) 1 commit
320 - (merged to 'next' on 2017-08-01 at f979c9340d)
321 - + t8008: rely on rev-parse'd HEAD instead of sha1 value
571
323 - Code clean-up.
572 +* rs/unpack-entry-leakfix (2017-08-10) 1 commit
573 + - sha1_file: release delta_stack on error in unpack_entry()
574
325 - Will cook in 'next'.
575 + Memory leak in an error codepath has been plugged.
576
577 + Will merge to 'next'.
578
328 -* rg/rerere-train-overwrite (2017-07-26) 1 commit
329 - (merged to 'next' on 2017-08-01 at 7fcd42974c)
330 - + contrib/rerere-train: optionally overwrite existing resolutions
579
332 - The "rerere-train" script (in contrib/) learned the "--overwrite"
333 - option to allow overwriting existing recorded resolutions.
580 +* rs/win32-syslog-leakfix (2017-08-10) 1 commit
581 + - win32: plug memory leak on realloc() failure in syslog()
582
335 - Will cook in 'next'.
583 + Memory leak in an error codepath has been plugged.
584
585 + Will merge to 'next'.
586
338 -* dl/credential-cache-socket-in-xdg-cache (2017-07-27) 1 commit
339 - (merged to 'next' on 2017-08-01 at 87687ae1d4)
340 - + credential-cache: interpret an ECONNRESET as an EOF
587
342 - A recently added test for the "credential-cache" helper revealed
343 - that EOF detection done around the time the connection to the cache
344 - daemon is torn down were flaky. This was fixed by reacting to
345 - ECONNRESET and behaving as if we got an EOF.
588 +* sb/retire-t1200 (2017-08-10) 1 commit
589 + - t1200: remove t1200-tutorial.sh
590
347 - Will cook in 'next'.
591 + A test script that outlived its usefulness has been removed.
592
593 + Will merge to 'next'.
594
350 -* eb/contacts-reported-by (2017-07-27) 1 commit
351 - (merged to 'next' on 2017-08-01 at cca9972d6b)
352 - + git-contacts: also recognise "Reported-by:"
595
354 - "git contacts" (in contrib/) now lists the address on the
355 - "Reported-by:" trailer to its output, in addition to those on
356 - S-o-b: and other trailers, to make it easier to notify (and thank)
357 - the original bug reporter.
596 +* ur/svn-local-zone (2017-08-08) 1 commit
597 + - git svn fetch: Create correct commit timestamp when using --localtime
598
359 - Will cook in 'next'.
599 + "git svn" used with "--localtime" option did not compute the tz
600 + offset for the timestamp in question and instead always used the
601 + current time, which has been corrected.
602
603 + Will merge to 'next'.
604
362 -* js/run-process-parallel-api-fix (2017-07-21) 1 commit
363 - (merged to 'next' on 2017-07-27 at 4b54b69172)
364 - + run_processes_parallel: change confusing task_cb convention
605
366 - API fix.
606 +* jt/sha1-file-cleanup (2017-08-11) 2 commits
607 + - sha1_file: remove read_packed_sha1()
608 + - sha1_file: set whence in storage-specific info fn
609
368 - Will cook in 'next'.
610 + Preparatory code clean-up.
611
612 + Will merge to 'next'.
613
371 -* cc/ref-is-hidden-microcleanup (2017-07-24) 1 commit
372 - (merged to 'next' on 2017-07-27 at 37af544e1c)
373 - + refs: use skip_prefix() in ref_is_hidden()
614
375 - Code cleanup.
615 +* kw/rebase-progress (2017-08-11) 2 commits
616 + - rebase: turn on progress option by default for format-patch
617 + - format-patch: have progress option while generating patches
618
377 - Will cook in 'next'.
619 + "git rebase", especially when it is run by mistake and ends up
620 + trying to replay many changes, spent long time in silence. The
621 + command has been taught to show progress report when it spends
622 + long time preparing these many changes to replay (which would give
623 + the user a chance to abort with ^C).
624
625 + Waiting for a response.
626 + cf. <20170810232033.46ujnozvnodkguog@sigill.intra.peff.net>
627 + cf. <xmqqshgxycal.fsf@gitster.mtv.corp.google.com>
628
380 -* bw/push-options-recursively-to-submodules (2017-07-20) 1 commit
381 - (merged to 'next' on 2017-07-27 at 26b3af2544)
382 - + submodule--helper: teach push-check to handle HEAD
629
384 - "git push --recurse-submodules $there HEAD:$target" was not
385 - propagated down to the submodules, but now it is.
630 +* mk/diff-delta-avoid-large-offset (2017-08-11) 1 commit
631 + - diff-delta: do not allow delta offset truncation
632
387 - Will cook in 'next'.
633 + The delta format used in the packfile cannot reference data at
634 + offset larger than what can be expressed in 4-byte, but the
635 + generator for the data failed to make sure the offset does not
636 + overflow. This has been corrected.
637
638 + Will merge to 'next'.
639
390 -* jc/http-sslkey-and-ssl-cert-are-paths (2017-07-20) 1 commit
391 - (merged to 'next' on 2017-07-20 at 5489304b99)
392 - + http.c: http.sslcert and http.sslkey are both pathnames
640
394 - The http.{sslkey,sslCert} configuration variables are to be
395 - interpreted as a pathname that honors "~[username]/" prefix, but
396 - weren't, which has been fixed.
641 +* nm/stash-untracked (2017-08-11) 1 commit
642 + - stash: clean untracked files before reset
643
398 - Will cook in 'next'.
644 + "git stash -u" used the contents of the committed version of the
645 + ".gitignore" file to decide which paths are ignored, even when the
646 + file has local changes. The command has been taught to instead use
647 + the locally modified contents.
648
649 + Will merge to 'next'.
650
401 -* jt/fsck-code-cleanup (2017-07-26) 3 commits
402 - (merged to 'next' on 2017-07-26 at 7a17e279da)
403 - + fsck: cleanup unused variable
404 - (merged to 'next' on 2017-07-20 at f7045a8c47)
405 - + object: remove "used" field from struct object
406 - + fsck: remove redundant parse_tree() invocation
651
408 - Code clean-up.
652 +* tc/curl-with-backports (2017-08-11) 2 commits
653 + - http: use a feature check to enable GSSAPI delegation control
654 + - http: fix handling of missing CURLPROTO_*
655
410 - Will cook in 'next'.
656 + Updates to the HTTP layer we made recently unconditionally used
657 + features of libCurl without checking the existence of them, causing
658 + compilation errors, which has been fixed. Also migrate the code to
659 + check feature macros, not version numbers, to cope better with
660 + libCurl that vendor ships with backported features.
661
662 +--------------------------------------------------
663 +[Stalled]
664
413 -* rs/pack-objects-pbase-cleanup (2017-07-20) 1 commit
414 - (merged to 'next' on 2017-07-20 at a6b618559b)
415 - + pack-objects: remove unnecessary NULL check
665 +* mg/status-in-progress-info (2017-05-10) 2 commits
666 + - status --short --inprogress: spell it as --in-progress
667 + - status: show in-progress info for short status
668
417 - Code clean-up.
669 + "git status" learns an option to report various operations
670 + (e.g. "merging") that the user is in the middle of.
671
419 - Will cook in 'next'.
672 + cf. <xmqqmvakcdqw.fsf@gitster.mtv.corp.google.com>
673
674
422 -* st/lib-gpg-kill-stray-agent (2017-07-20) 1 commit
423 - (merged to 'next' on 2017-07-20 at 8ea68c483f)
424 - + t: lib-gpg: flush gpg agent on startup
675 +* nd/worktree-move (2017-04-20) 6 commits
676 + - worktree remove: new command
677 + - worktree move: refuse to move worktrees with submodules
678 + - worktree move: accept destination as directory
679 + - worktree move: new command
680 + - worktree.c: add update_worktree_location()
681 + - worktree.c: add validate_worktree()
682
426 - Some versions of GnuPG fails to kill gpg-agent it auto-spawned
427 - and such a left-over agent can interfere with a test. Work it
428 - around by attempting to kill one before starting a new test.
683 + "git worktree" learned move and remove subcommands.
684
430 - Will cook in 'next'.
685 + Expecting a reroll.
686 + cf. <20170420101024.7593-1-pclouds@gmail.com>
687 + cf. <20170421145916.mknekgqzhxffu7di@sigill.intra.peff.net>
688 + cf. <d0e81b1e-5869-299e-f462-4d43dc997bd1@ramsayjones.plus.com>
689
690
433 -* jk/c99 (2017-07-18) 2 commits
434 - (merged to 'next' on 2017-07-18 at 1cfc30f7c1)
435 - + clean.c: use designated initializer
436 - + strbuf: use designated initializers in STRBUF_INIT
691 +* sg/clone-refspec-from-command-line-config (2017-06-16) 2 commits
692 + - Documentation/clone: document ignored configuration variables
693 + - clone: respect additional configured fetch refspecs during initial fetch
694 + (this branch is used by sg/remote-no-string-refspecs.)
695
438 - Start using selected c99 constructs in small, stable and
439 - essentialpart of the system to catch people who care about
440 - older compilers that do not grok them.
696 + "git clone -c var=val" is a way to set configuration variables in
697 + the resulting repository, but it is more useful to also make these
698 + variables take effect while the initial clone is happening,
699 + e.g. these configuration variables could be fetch refspecs.
700
442 - Will cook in 'next'.
701 + Waiting for a response.
702 + cf. <20170617112228.vugswym4o4owf6wj@sigill.intra.peff.net>
703 + cf. <xmqqmv8zhdap.fsf@gitster.mtv.corp.google.com>
704
705
445 -* jk/check-ref-format-oor-fix (2017-07-14) 1 commit
446 - - check-ref-format: require a repository for --branch
706 +* js/rebase-i-final (2017-07-27) 10 commits
707 + - rebase -i: rearrange fixup/squash lines using the rebase--helper
708 + - t3415: test fixup with wrapped oneline
709 + - rebase -i: skip unnecessary picks using the rebase--helper
710 + - rebase -i: check for missing commits in the rebase--helper
711 + - t3404: relax rebase.missingCommitsCheck tests
712 + - rebase -i: also expand/collapse the SHA-1s via the rebase--helper
713 + - rebase -i: do not invent onelines when expanding/collapsing SHA-1s
714 + - rebase -i: remove useless indentation
715 + - rebase -i: generate the script via rebase--helper
716 + - t3415: verify that an empty instructionFormat is handled as before
717
448 - Objected...
449 - cf. <20170717172709.GL93855@aiede.mtv.corp.google.com>
718 + The final batch to "git rebase -i" updates to move more code from
719 + the shell script to C.
720
721 + Expecting a reroll.
722
452 -* bw/grep-recurse-submodules (2017-08-02) 10 commits
453 - (merged to 'next' on 2017-08-04 at 4e60c34bad)
454 - + grep: recurse in-process using 'struct repository'
455 - + submodule: merge repo_read_gitmodules and gitmodules_config
456 - + submodule: check for unmerged .gitmodules outside of config parsing
457 - + submodule: check for unstaged .gitmodules outside of config parsing
458 - + submodule: remove fetch.recursesubmodules from submodule-config parsing
459 - + submodule: remove submodule.fetchjobs from submodule-config parsing
460 - + config: add config_from_gitmodules
461 - + cache.h: add GITMODULES_FILE macro
462 - + repository: have the_repository use the_index
463 - + repo_read_index: don't discard the index
464 - (this branch is used by bw/submodule-config-cleanup.)
723
466 - "git grep --recurse-submodules" has been reworked to give a more
467 - consistent output across submodule boundary (and do its thing
468 - without having to fork a separate process).
724 +* bp/fsmonitor (2017-06-12) 6 commits
725 + - fsmonitor: add a sample query-fsmonitor hook script for Watchman
726 + - fsmonitor: add documentation for the fsmonitor extension.
727 + - fsmonitor: add test cases for fsmonitor extension
728 + - fsmonitor: teach git to optionally utilize a file system monitor to speed up detecting new or changed files.
729 + - dir: make lookup_untracked() available outside of dir.c
730 + - bswap: add 64 bit endianness helper get_be64
731
470 - Will cook in 'next'.
732 + We learned to talk to watchman to speed up "git status".
733 +
734 + Expecting a reroll.
735 + cf. <bade1166-e646-b05a-f65b-adb8da8ba0a7@gmail.com>
736
737 +--------------------------------------------------
738 +[Cooking]
739
473 -* bw/object-id (2017-07-17) 3 commits
474 - (merged to 'next' on 2017-07-18 at 90d27c0e7c)
475 - + receive-pack: don't access hash of NULL object_id pointer
476 - + notes: don't access hash of NULL object_id pointer
477 - + tree-diff: don't access hash of NULL object_id pointer
740 +* pw/sequence-rerere-autoupdate (2017-08-02) 6 commits
741 + (merged to 'next' on 2017-08-11 at cd2d165be2)
742 + + cherry-pick/revert: reject --rerere-autoupdate when continuing
743 + + cherry-pick/revert: remember --rerere-autoupdate
744 + + t3504: use test_commit
745 + + rebase -i: honor --rerere-autoupdate
746 + + rebase: honor --rerere-autoupdate
747 + + am: remember --rerere-autoupdate setting
748
479 - Conversion from uchar[20] to struct object_id continues.
749 + Commands like "git rebase" accepted the --rerere-autoupdate option
750 + from the command line, but did not always use it. This has been
751 + fixed.
752
481 - Will cook in 'next'.
753 + Will merge to 'master'.
754
755
484 -* ks/commit-abort-on-empty-message-fix (2017-07-17) 1 commit
485 - (merged to 'next' on 2017-07-27 at e81ad4c1dc)
486 - + commit: check for empty message before the check for untouched template
756 +* bw/clone-recursive-quiet (2017-08-04) 1 commit
757 + (merged to 'next' on 2017-08-11 at f49ac463f7)
758 + + clone: teach recursive clones to respect -q
759
488 - "git commit" when seeing an totally empty message said "you did not
489 - edit the message", which is clearly wrong. The message has been
490 - corrected.
760 + "git clone --recurse-submodules --quiet" did not pass the quiet
761 + option down to submodules.
762
492 - Will cook in 'next'.
763 + Will merge to 'master'.
764
765
495 -* rs/bswap-ubsan-fix (2017-07-17) 2 commits
496 - (merged to 'next' on 2017-07-20 at ce6bad07b0)
497 - + bswap: convert get_be16, get_be32 and put_be32 to inline functions
498 - + bswap: convert to unsigned before shifting in get_be32
766 +* lg/merge-signoff (2017-07-25) 1 commit
767 + - merge: add a --signoff flag
768
500 - Code clean-up.
769 + "git merge" learned a "--signoff" option to add the Signed-off-by:
770 + trailer with the committer's name.
771
502 - Will cook in 'next'.
772
773 +* pb/trailers-from-command-line (2017-07-25) 4 commits
774 + - SQUASH???
775 + - interpret-trailers: add options for actions
776 + - trailers: introduce struct new_trailer_item
777 + - trailers: export action enums and corresponding lookup functions
778
505 -* rs/move-array (2017-07-17) 4 commits
506 - (merged to 'next' on 2017-07-20 at f3086cd20e)
507 - + ls-files: don't try to prune an empty index
508 - + apply: use COPY_ARRAY and MOVE_ARRAY in update_image()
509 - + use MOVE_ARRAY
510 - + add MOVE_ARRAY
779 + "git interpret-trailers" learned to take the trailer specifications
780 + from the command line that overrides the configured values.
781
512 - Code clean-up.
782 + Expecting a reroll for compilation fix.
783
514 - Will cook in 'next'.
784
785 +* sb/submodule-recursive-checkout-detach-head (2017-07-28) 2 commits
786 + - Documentation/checkout: clarify submodule HEADs to be detached
787 + - recursive submodules: detach HEAD from new state
788
517 -* rs/stat-data-unaligned-reads-fix (2017-07-17) 1 commit
518 - (merged to 'next' on 2017-07-20 at e7d3782823)
519 - + dir: support platforms that require aligned reads
789 + "git checkout --recursive" may overwrite and rewind the history of
790 + the branch that happens to be checked out in submodule
791 + repositories, which might not be desirable. Detach the HEAD but
792 + still allow the recursive checkout to succeed in such a case.
793
521 - Code clean-up.
794 + Undecided.
795 + This needs justification in a larger picture; it is unclear why
796 + this is better than rejecting recursive checkout, for example.
797
523 - Will cook in 'next'.
798
799 +* ti/external-sha1dc (2017-07-25) 1 commit
800 + (merged to 'next' on 2017-07-27 at d1ce394fe2)
801 + + hash: allow building with the external sha1dc library
802
526 -* wd/rebase-conflict-guide (2017-07-17) 1 commit
527 - (merged to 'next' on 2017-07-20 at c78e758b23)
528 - + rebase: make resolve message clearer for inexperienced users
803 + Platforms that ship with a separate sha1 with collision detection
804 + library can link to it instead of using the copy we ship as part of
805 + our source tree.
806
530 - The advice message given when "git rebase" stops for conflicting
531 - changes has been improved.
807 + Waiting for review to conclude
808 + cf. <CACBZZX7M=H8tNkZXpHBvv0rbY58EJk4dkoUzGKMftWoKUqF8sA@mail.gmail.com>
809
533 - Will cook in 'next'.
810
811 +* bw/submodule-config-cleanup (2017-08-03) 17 commits
812 + - submodule: remove gitmodules_config
813 + - unpack-trees: improve loading of .gitmodules
814 + - submodule-config: lazy-load a repository's .gitmodules file
815 + - submodule-config: move submodule-config functions to submodule-config.c
816 + - submodule-config: remove support for overlaying repository config
817 + - diff: stop allowing diff to have submodules configured in .git/config
818 + - submodule: remove submodule_config callback routine
819 + - unpack-trees: don't respect submodule.update
820 + - submodule: don't rely on overlayed config when setting diffopts
821 + - fetch: don't overlay config with submodule-config
822 + - submodule--helper: don't overlay config in update-clone
823 + - submodule--helper: don't overlay config in remote_submodule_branch
824 + - add, reset: ensure submodules can be added or reset
825 + - submodule: don't use submodule_from_name
826 + - t7411: check configuration parsing errors
827 + - Merge branch 'bc/object-id' into bw/submodule-config-cleanup
828 + - Merge branch 'bw/grep-recurse-submodules' into bw/submodule-config-cleanup
829 + (this branch uses bw/grep-recurse-submodules.)
830
536 -* hb/gitweb-project-list (2017-07-18) 1 commit
537 - (merged to 'next' on 2017-07-27 at c25d65ca25)
538 - + gitweb: skip unreadable subdirectories
831 + Code clean-up to avoid mixing values read from the .gitmodules file
832 + and values read from the .git/config file.
833
540 - When a directory is not readable, "gitweb" fails to build the
541 - project list. Work this around by skipping such a directory.
834
543 - Will cook in 'next'.
835 +* bw/push-options-recursively-to-submodules (2017-07-20) 1 commit
836 + (merged to 'next' on 2017-07-27 at 26b3af2544)
837 + + submodule--helper: teach push-check to handle HEAD
838
545 - It might end up hiding a problem under the rug and a better
546 - solution might be to loudly complain to the administrator pointing
547 - out the problematic directory, but this will at least make it
548 - "work".
839 + "git push --recurse-submodules $there HEAD:$target" was not
840 + propagated down to the submodules, but now it is.
841
842 + Will merge to 'master'.
843
551 -* jk/ref-filter-colors (2017-07-13) 15 commits
552 - (merged to 'next' on 2017-07-18 at 75d4eb7ecf)
553 - + ref-filter: consult want_color() before emitting colors
554 - + pretty: respect color settings for %C placeholders
555 - + rev-list: pass diffopt->use_colors through to pretty-print
556 - + for-each-ref: load config earlier
557 - + color: check color.ui in git_default_config()
558 - + ref-filter: pass ref_format struct to atom parsers
559 - + ref-filter: factor out the parsing of sorting atoms
560 - + ref-filter: make parse_ref_filter_atom a private function
561 - + ref-filter: provide a function for parsing sort options
562 - + ref-filter: move need_color_reset_at_eol into ref_format
563 - + ref-filter: abstract ref format into its own struct
564 - + ref-filter: simplify automatic color reset
565 - + t: use test_decode_color rather than literal ANSI codes
566 - + docs/for-each-ref: update pointer to color syntax
567 - + check return value of verify_ref_format()
844
569 - "%C(color name)" in the pretty print format always produced ANSI
570 - color escape codes, which was an early design mistake. They now
571 - honor the configuration (e.g. "color.ui = never") and also tty-ness
572 - of the output medium.
845 +* jk/check-ref-format-oor-fix (2017-07-14) 1 commit
846 + - check-ref-format: require a repository for --branch
847
574 - Will cook in 'next'.
848 + Objected...
849 + cf. <20170717172709.GL93855@aiede.mtv.corp.google.com>
850
851
577 -* sb/object-id (2017-07-13) 2 commits
578 - (merged to 'next' on 2017-07-18 at e4df0ba3b1)
579 - + tag: convert gpg_verify_tag to use struct object_id
580 - + commit: convert lookup_commit_graft to struct object_id
581 - (this branch is used by bc/object-id and bw/submodule-config-cleanup.)
852 +* bw/grep-recurse-submodules (2017-08-02) 10 commits
853 + (merged to 'next' on 2017-08-04 at 4e60c34bad)
854 + + grep: recurse in-process using 'struct repository'
855 + + submodule: merge repo_read_gitmodules and gitmodules_config
856 + + submodule: check for unmerged .gitmodules outside of config parsing
857 + + submodule: check for unstaged .gitmodules outside of config parsing
858 + + submodule: remove fetch.recursesubmodules from submodule-config parsing
859 + + submodule: remove submodule.fetchjobs from submodule-config parsing
860 + + config: add config_from_gitmodules
861 + + cache.h: add GITMODULES_FILE macro
862 + + repository: have the_repository use the_index
863 + + repo_read_index: don't discard the index
864 + (this branch is used by bw/submodule-config-cleanup.)
865
583 - Conversion from uchar[20] to struct object_id continues.
866 + "git grep --recurse-submodules" has been reworked to give a more
867 + consistent output across submodule boundary (and do its thing
868 + without having to fork a separate process).
869
585 - Will cook in 'next'.
870 + Will merge to 'master'.
871
872
873 * rs/sha1-file-micro-optim (2017-07-09) 2 commits
@@ -595,20 +880,6 @@ of the repositories listed at
880 cf. <f59c8256-716b-9305-2a4f-d4fe49f666ff@web.de>
881
882
598 -* ks/prepare-commit-msg-sample (2017-07-12) 4 commits
599 - (merged to 'next' on 2017-07-18 at 48d9650a30)
600 - + hook: add a simple first example
601 - + hook: add sign-off using "interpret-trailers"
602 - + hook: name the positional variables
603 - + hook: cleanup script
604 -
605 - Remove an example that is now obsolete from a sample hook,
606 - and improve an old example in it that added a sign-off manually
607 - to use the interpret-trailers command.
608 -
609 - Will cook in 'next'.
610 -
611 -
883 * jc/allow-lazy-cas (2017-07-06) 1 commit
884 - push: disable lazy --force-with-lease by default
885
@@ -626,68 +897,6 @@ of the repositories listed at
897 cf. <alpine.DEB.2.21.1.1707131435220.4193@virtualbox>
898
899
629 -* bc/object-id (2017-07-17) 12 commits
630 - (merged to 'next' on 2017-07-18 at fd161056e4)
631 - + sha1_name: convert uses of 40 to GIT_SHA1_HEXSZ
632 - + sha1_name: convert GET_SHA1* flags to GET_OID*
633 - + sha1_name: convert get_sha1* to get_oid*
634 - + Convert remaining callers of get_sha1 to get_oid.
635 - + builtin/unpack-file: convert to struct object_id
636 - + bisect: convert bisect_checkout to struct object_id
637 - + builtin/update_ref: convert to struct object_id
638 - + sequencer: convert to struct object_id
639 - + remote: convert struct push_cas to struct object_id
640 - + submodule: convert submodule config lookup to use object_id
641 - + builtin/merge-tree: convert remaining caller of get_sha1 to object_id
642 - + builtin/fsck: convert remaining caller of get_sha1 to object_id
643 - (this branch is used by bw/submodule-config-cleanup; uses sb/object-id.)
644 -
645 - Conversion from uchar[20] to struct object_id continues.
646 -
647 - Will cook in 'next'.
648 -
649 -
650 -* jk/reflog-walk (2017-07-09) 9 commits
651 - (merged to 'next' on 2017-07-09 at 7449e964c6)
652 - + reflog-walk: apply --since/--until to reflog dates
653 - + reflog-walk: stop using fake parents
654 - + rev-list: check reflog_info before showing usage
655 - + get_revision_1(): replace do-while with an early return
656 - + log: do not free parents when walking reflog
657 - + log: clarify comment about reflog cycles
658 - + revision: disallow reflog walking with revs->limited
659 - + t1414: document some reflog-walk oddities
660 - + Merge branch 'jk/reflog-walk-maint' into jk/reflog-walk
661 -
662 - Numerous bugs in walking of reflogs via "log -g" and friends have
663 - been fixed.
664 -
665 - Will cook in 'next'.
666 -
667 -
668 -* sb/hashmap-cleanup (2017-07-05) 10 commits
669 - (merged to 'next' on 2017-07-12 at ce31d06165)
670 - + t/helper/test-hashmap: use custom data instead of duplicate cmp functions
671 - + name-hash.c: drop hashmap_cmp_fn cast
672 - + submodule-config.c: drop hashmap_cmp_fn cast
673 - + remote.c: drop hashmap_cmp_fn cast
674 - + patch-ids.c: drop hashmap_cmp_fn cast
675 - + convert/sub-process: drop cast to hashmap_cmp_fn
676 - + config.c: drop hashmap_cmp_fn cast
677 - + builtin/describe: drop hashmap_cmp_fn cast
678 - + builtin/difftool.c: drop hashmap_cmp_fn cast
679 - + attr.c: drop hashmap_cmp_fn cast
680 -
681 - Many uses of comparision callback function the hashmap API uses
682 - cast the callback function type when registering it to
683 - hashmap_init(), which defeats the compile time type checking when
684 - the callback interface changes (e.g. gaining more parameters).
685 - The callback implementations have been updated to take "void *"
686 - pointers and cast them to the type they expect instead.
687 -
688 - Will cook in 'next'.
689 -
690 -
900 * ex/deprecate-empty-pathspec-as-match-all (2017-06-23) 2 commits
901 (merged to 'next' on 2017-06-26 at d026281517)
902 + pathspec: die on empty strings as pathspec
@@ -741,7 +950,7 @@ of the repositories listed at
950
951 The "ref-store" code reorganization continues.
952
744 - Will cook in 'next'.
953 + Will merge to 'master'.
954
955
956 * sd/branch-copy (2017-06-18) 3 commits
@@ -753,7 +962,7 @@ of the repositories listed at
962 "git branch" learned "-c/-C" to create and switch to a new branch
963 by copying an existing one.
964
756 - Will cook in 'next'.
965 + Will merge to 'master'.
966
967 I personally do not think "branch --copy master backup" while on
968 "master" that switches to "backup" is a good UI, and I *will* say
@@ -761,23 +970,6 @@ of the repositories listed at
970 'master'.
971
972
764 -* ls/filter-process-delayed (2017-06-30) 7 commits
765 - (merged to 'next' on 2017-07-05 at a35e644082)
766 - + convert: add "status=delayed" to filter process protocol
767 - + convert: refactor capabilities negotiation
768 - + convert: move multiple file filter error handling to separate function
769 - + convert: put the flags field before the flag itself for consistent style
770 - + t0021: write "OUT <size>" only on success
771 - + t0021: make debug log file name configurable
772 - + t0021: keep filter log files on comparison
773 - (this branch is used by jt/subprocess-handshake.)
774 -
775 - The filter-process interface learned to allow a process with long
776 - latency give a "delayed" response.
777 -
778 - Will cook in 'next'.
779 -
780 -
973 * sb/diff-color-move (2017-06-30) 26 commits
974 (merged to 'next' on 2017-07-06 at 758ed40e4f)
975 + diff: document the new --color-moved setting
@@ -811,7 +1003,7 @@ of the repositories listed at
1003 the same as deleted lines elsewhere differently from genuinely new
1004 lines.
1005
814 - Will cook in 'next'.
1006 + Will merge to 'master'.
1007
1008 --------------------------------------------------
1009 [Discarded]