What's cooking (2015/12 #03)

Junio C Hamano committed Dec 10, 2015 at 14:46 UTC dcb901c83d0794bf7b4a22523461a19f15e91ed2
1 file changed +200 -214
whats-cooking.txt
+200 -214
@@ -1,127 +1,227 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Dec 2015, #02; Fri, 4)
4 -X-master-at: e5da8655b23737a8449868e1d99973a8d0e25fe3
5 -X-next-at: 362d2fc2f8ab9ee22072f76fb36ec16918511944
3 +Subject: What's cooking in git.git (Dec 2015, #03; Thu, 10)
4 +X-master-at: 7d722536dd86b5fbd0c0434bfcea5588132ee6ad
5 +X-next-at: 4a846af92dfa9c9799c6c2f1a61e3a1b87ceb0f4
6
7 -What's cooking in git.git (Dec 2015, #02; Fri, 4)
7 +What's cooking in git.git (Dec 2015, #03; Thu, 10)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
11 '-' are only in 'pu' (proposed updates) while commits prefixed with
12 -'+' are in 'next'.
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
14 -A big thank-you to Peff for managing the list traffic during my
15 -absence for the past few weeks. I think my tree is now back in
16 -shape and I started merging a handful of topics to 'next' and
17 -'master'. What's in 'master' plus just a few trivial topics in
18 -'next' should be pretty much "it" for the upcoming release.
15 +An early preview v2.7.0-rc0 has been tagged. I notice that quite a
16 +few topics have been in "waiting for review" state without getting
17 +anybody helping the review process, leaving them in 'pu'--they will
18 +not have enough time to be part of 2.7 at this rate, but perhaps
19 +that is unavoidable, as this is historically a slow season.
20
20 -You can find the normal integration branches at:
21 +You can find the changes described here in the integration branches of the
22 +repositories listed at
23
22 - https://github.com/git/git/
24 + http://git-blame.blogspot.com/p/git-public-repositories.html
25
24 -and all topic branches at:
26 +--------------------------------------------------
27 +[Graduated to "master"]
28
26 - https://github.com/peff/git/
29 +* bc/object-id (2015-11-20) 12 commits
30 + (merged to 'next' on 2015-12-04 at 2d3f5f2)
31 + + remote: convert functions to struct object_id
32 + + Remove get_object_hash.
33 + + Convert struct object to object_id
34 + + Add several uses of get_object_hash.
35 + + object: introduce get_object_hash macro.
36 + + ref_newer: convert to use struct object_id
37 + + push_refs_with_export: convert to struct object_id
38 + + get_remote_heads: convert to struct object_id
39 + + parse_fetch: convert to use struct object_id
40 + + add_sought_entry_mem: convert to struct object_id
41 + + Convert struct ref to use object_id.
42 + + sha1_file: introduce has_object_file helper.
43 + (this branch is used by bc/format-patch-null-from-line.)
44
28 -But note that I will _not_ be pushing to kernel.org.
45 + More transition from "unsigned char[40]" to "struct object_id".
46
30 ---------------------------------------------------
31 -[Graduated to "master"]
47 + This needed a few merge fixups, but is mostly disentangled from other
48 + topics.
49
33 -* ad/sha1-update-chunked (2015-11-05) 2 commits
34 - (merged to 'next' on 2015-12-01 at a22bf47)
35 - + sha1: allow limiting the size of the data passed to SHA1_Update()
36 - + sha1: provide another level of indirection for the SHA-1 functions
50
38 - Apple's common crypto implementation of SHA1_Update() does not take
39 - more than 4GB at a time, and we now have a compile-time workaround
40 - for it.
51 +* dt/fsck-verify-pack-error (2015-12-01) 1 commit
52 + (merged to 'next' on 2015-12-04 at fbd82d1)
53 + + verify_pack: do not ignore return value of verification function
54 +
55 + The exit code of git-fsck didnot reflect some types of errors found
56 + in packed objects, which has been corrected.
57 +
58 +
59 +* dt/refs-backend-pre-vtable (2015-11-20) 10 commits
60 + (merged to 'next' on 2015-11-24 at 8fd7293)
61 + + refs: break out ref conflict checks
62 + + files_log_ref_write: new function
63 + + initdb: make safe_create_dir public
64 + + refs: split filesystem-based refs code into a new file
65 + + refs/refs-internal.h: new header file
66 + + refname_is_safe(): improve docstring
67 + + pack_if_possible_fn(): use ref_type() instead of is_per_worktree_ref()
68 + + copy_msg(): rename to copy_reflog_msg()
69 + + verify_refname_available(): new function
70 + + verify_refname_available(): rename function
71 + (this branch is used by dt/refs-backend-lmdb.)
72
73 + Code preparation for pluggable ref backends.
74
43 -* jk/filter-branch-no-index (2015-11-06) 1 commit
44 - (merged to 'next' on 2015-11-24 at e31946e)
45 - + filter-branch: skip index read/write when possible
75
47 - Speed up filter-branch for cases where we only care about rewriting
48 - commits, not tree data.
76 +* ep/ident-with-getaddrinfo (2015-11-28) 1 commit
77 + (merged to 'next' on 2015-12-01 at 0775d4c)
78 + + ident.c: add support for IPv6
79
80 + A build without NO_IPv6 used to use gethostbyname() when guessing
81 + user's hostname, instead of getaddrinfo() that is used in other
82 + codepaths in such a build.
83
51 -* jk/send-email-complete-aliases (2015-11-20) 2 commits
52 - (merged to 'next' on 2015-11-24 at a50094f)
53 - + completion: add support for completing email aliases
54 - + sendemail: teach git-send-email to dump alias names
84
56 - Teach send-email to dump mail aliases, so that we can do tab completion
57 - on the command line.
85 +* ls/test-must-fail-sigpipe (2015-11-28) 2 commits
86 + (merged to 'next' on 2015-12-01 at d374686)
87 + + add "ok=sigpipe" to test_must_fail and use it to fix flaky tests
88 + + implement test_might_fail using a refactored test_must_fail
89
90 + Fix some racy client/server tests by treating SIGPIPE the same as a
91 + normal non-zero exit.
92
60 -* np/credential-cache-sighup (2015-11-20) 1 commit
61 - (merged to 'next' on 2015-11-24 at 410167f)
62 - + credential-cache: new option to ignore sighup
93
64 - Workaround for using credential-cache with emacs.
94 +* ls/travis-yaml (2015-11-28) 1 commit
95 + (merged to 'next' on 2015-12-04 at e7852e1)
96 + + Add Travis CI support
97
98 + The necessary infrastructure to build topics using the free Travis
99 + CI has been added. Developers forking from this topic (and enabling
100 + Travis) can do their own builds, and we can turn on auto-builds for
101 + git/git (including build-status for pull requests that people
102 + open).
103
67 -* rs/parseopt-short-help (2015-11-20) 5 commits
68 - (merged to 'next' on 2015-11-24 at f22b6e0)
69 - + show-ref: stop using PARSE_OPT_NO_INTERNAL_HELP
70 - + grep: stop using PARSE_OPT_NO_INTERNAL_HELP
71 - + parse-options: allow -h as a short option
72 - + parse-options: inline parse_options_usage() at its only remaining caller
73 - + parse-options: deduplicate parse_options_usage() calls
104
75 - Make "-h" command line option work more consistently in all commands.
105 +* nd/doc-check-ref-format-typo (2015-12-04) 1 commit
106 + (merged to 'next' on 2015-12-08 at 1ec8a6b)
107 + + git-check-ref-format.txt: typo, s/avoids/avoid/
108
109
78 -* sg/bash-prompt-dirty-orphan (2015-11-24) 3 commits
79 - (merged to 'next' on 2015-11-24 at ac6eb1c)
80 - + bash prompt: indicate dirty index even on orphan branches
81 - + bash prompt: remove a redundant 'git diff' option
82 - + bash prompt: test dirty index and worktree while on an orphan branch
110 +* rs/status-detached-head-memcmp (2015-11-28) 1 commit
111 + (merged to 'next' on 2015-12-04 at 60232db)
112 + + wt-status: correct and simplify check for detached HEAD
113
84 - Produce correct "dirty" marker for shell prompts, even when we
85 - are on an orphan or an unborn branch.
114 + Fix some string-matching corner cases when digging in the reflog for
115 + "git status".
116
117 --------------------------------------------------
118 [New Topics]
119
90 -* cb/t3404-shellquote (2015-12-04) 1 commit
91 - - t3404: fix quoting of redirect for some versions of bash
120 +* bc/format-patch-null-from-line (2015-12-07) 2 commits
121 + - format-patch: add an option to suppress commit hash
122 + - Introduce a null_oid constant.
123
93 - Will merge to 'next'.
124 + "format-patch" has learned a new option to zero-out the commit
125 + object name on the mbox "From " line.
126
127 + The bottom patch needs to be retitled but otherwise OK. The top
128 + one names the new option --no-hash that is doubly undesirable.
129
96 -* nd/clear-gitenv-upon-use-of-alias (2015-12-04) 2 commits
97 - - setup.c: re-fix d95138e (setup: set env $GIT_WORK_TREE when ..
98 - - git.c: make it clear save_env() is for alias handling only
130 + Waiting for a reroll.
131 + ($gmane/282111)
132 +
133 +
134 +* sn/null-pointer-arith-in-mark-tree-uninteresting (2015-12-07) 1 commit
135 + (merged to 'next' on 2015-12-08 at 91b14e2)
136 + + revision.c: fix possible null pointer arithmetic
137 +
138 + mark_tree_uninteresting() has code to handle the case where it gets
139 + passed a NULL pointer in its 'tree' parameter, but the function had
140 + 'object = &tree->object' assignment before checking if tree is
141 + NULL. This gives a compiler an excuse to declare that tree will
142 + never be NULL and apply a wrong optimization. Avoid it.
143 +
144 + Will merge to 'master'.
145
100 - d95138e6 (setup: set env $GIT_WORK_TREE when work tree is set, like
101 - $GIT_DIR, 2015-06-26) attempted to work around a glitch in alias
102 - handling by overwriting GIT_WORK_TREE environment variable to
103 - affect subprocesses when set_git_work_tree() gets called, which
104 - resulted in a rather unpleasant regression to "clone" and "init".
105 - Try to address the same issue by always restoring the environment
106 - and respawning the real underlying command when handling alias.
146 +
147 +* dt/refs-backend-lmdb (2015-12-04) 16 commits
148 + - refs: tests for lmdb backend
149 + - refs: add LMDB refs backend
150 + - refs: allow ref backend to be set for clone
151 + - init: allow alternate backends to be set for new repos
152 + - refs: always handle non-normal refs in files backend
153 + - refs: move duplicate check to common code
154 + - refs: make lock generic
155 + - refs: add method to rename refs
156 + - refs: add methods to init refs backend and db
157 + - refs: add method for delete_refs
158 + - refs: add method for initial ref transaction commit
159 + - refs: add methods for reflog
160 + - refs: add do_for_each_per_worktree_ref
161 + - refs: add methods for the ref iterators
162 + - refs: add methods for misc ref operations
163 + - refs: add a backend method structure with transaction functions
164 +
165 + Building on top of a few refs-backend preparatory series, LMDB
166 + based refs backend has been plugged into the system.
167
168 Waiting for review.
169
170
111 -* nd/doc-check-ref-format-typo (2015-12-04) 1 commit
112 - - git-check-ref-format.txt: typo, s/avoids/avoid/
171 +* dw/subtree-split-do-not-drop-merge (2015-12-10) 1 commit
172 + - contrib/subtree: fix "subtree split" skipped-merge bug
173
114 - Will merge to 'next'.
174 + The "split" subcommand of "git subtree" (in contrib/) incorrectly
175 + skipped merges when it shouldn't, which was corrected.
176
177 + Waiting for review from 'subtree' folks.
178
117 -* sb/doc-submodule-sync-recursive (2015-12-04) 1 commit
118 - - document submodule sync --recursive
179 +
180 +* ls/p4-keep-empty-commits (2015-12-10) 1 commit
181 + - git-p4: add option to keep empty commits
182 +
183 + "git p4" used to import Perforce CLs that touch only paths outside
184 + the client spec as empty commits. It has been corrected to ignore
185 + them instead, with a new configuration git-p4.keepEmptyCommits as a
186 + backward compatibility knob.
187
188 Will merge to 'next'.
189
190 --------------------------------------------------
191 [Stalled]
192
193 +* vl/grep-configurable-threads (2015-12-04) 1 commit
194 + . grep: add --threads=<num> option and grep.threads configuration
195 +
196 + "git grep" can now be configured (or told from the command line)
197 + how many threads to use when searching in the working tree files.
198 +
199 + There was some review from Eric. Also this seems to break a test.
200 +
201 + Waiting for a reroll, or at least a response.
202 + ($gmane/281160)
203 +
204 +
205 +* kf/http-proxy-auth-methods (2015-11-04) 3 commits
206 + . SQUASH???
207 + . http: use credential API to handle proxy authentication
208 + . http: allow selection of proxy authentication method
209 +
210 + New http.proxyAuthMethod configuration variable can be used to
211 + specify what authentication method to use, as a way to work around
212 + proxies that do not give error response expected by libcurl when
213 + CURLAUTH_ANY is used. Also, the codepath for proxy authentication
214 + has been taught to use credential API to store the authentication
215 + material in user's keyrings.
216 +
217 + I ejected this from pu for the moment, as it conflicts with the
218 + pt/http-socks-proxy topic. That is now in master, so it can
219 + be re-rolled on top.
220 +
221 + Still being worked on.
222 + ($gmane/280925)
223 +
224 +
225 * nd/ita-cleanup (2015-09-06) 6 commits
226 - grep: make it clear i-t-a entries are ignored
227 - checkout(-index): do not checkout i-t-a entries
@@ -186,35 +286,34 @@ But note that I will _not_ be pushing to kernel.org.
286 --------------------------------------------------
287 [Cooking]
288
189 -* bc/object-id (2015-11-20) 12 commits
190 - (merged to 'next' on 2015-12-04 at 2d3f5f2)
191 - + remote: convert functions to struct object_id
192 - + Remove get_object_hash.
193 - + Convert struct object to object_id
194 - + Add several uses of get_object_hash.
195 - + object: introduce get_object_hash macro.
196 - + ref_newer: convert to use struct object_id
197 - + push_refs_with_export: convert to struct object_id
198 - + get_remote_heads: convert to struct object_id
199 - + parse_fetch: convert to use struct object_id
200 - + add_sought_entry_mem: convert to struct object_id
201 - + Convert struct ref to use object_id.
202 - + sha1_file: introduce has_object_file helper.
289 +* cb/t3404-shellquote (2015-12-04) 1 commit
290 + (merged to 'next' on 2015-12-08 at 1a01305)
291 + + t3404: fix quoting of redirect for some versions of bash
292
204 - More transition from "unsigned char[40]" to "struct object_id".
293 + Will merge to 'master'.
294
206 - This needed a few merge fixups, but is mostly disentangled from other
207 - topics.
295
209 - Will merge to 'master'.
296 +* nd/clear-gitenv-upon-use-of-alias (2015-12-07) 3 commits
297 + . git.c: make sure we do not leak GIT_* to alias scripts
298 + - setup.c: re-fix d95138e (setup: set env $GIT_WORK_TREE when ..
299 + - git.c: make it clear save_env() is for alias handling only
300
301 + d95138e6 (setup: set env $GIT_WORK_TREE when work tree is set, like
302 + $GIT_DIR, 2015-06-26) attempted to work around a glitch in alias
303 + handling by overwriting GIT_WORK_TREE environment variable to
304 + affect subprocesses when set_git_work_tree() gets called, which
305 + resulted in a rather unpleasant regression to "clone" and "init".
306 + Try to address the same issue by always restoring the environment
307 + and respawning the real underlying command when handling alias.
308
212 -* dt/fsck-verify-pack-error (2015-12-01) 1 commit
213 - (merged to 'next' on 2015-12-04 at fbd82d1)
214 - + verify_pack: do not ignore return value of verification function
309 + The tip one seems to break tests under "prove".
310
216 - The exit code of git-fsck would not reflect some types of errors found
217 - in packed objects.
311 + Waiting for review.
312 +
313 +
314 +* sb/doc-submodule-sync-recursive (2015-12-04) 1 commit
315 + (merged to 'next' on 2015-12-08 at 7c24ee5)
316 + + document submodule sync --recursive
317
318 Will merge to 'master'.
319
@@ -240,39 +339,13 @@ But note that I will _not_ be pushing to kernel.org.
339 Waiting for review.
340
341
243 -* ls/travis-yaml (2015-11-28) 1 commit
244 - (merged to 'next' on 2015-12-04 at e7852e1)
245 - + Add Travis CI support
246 -
247 - Provides the necessary infrastructure to build topics using the free
248 - Travis CI. Developers forking from this topic (and enabling Travis) can
249 - do their own builds, and we can turn on auto-builds for git/git
250 - (including build-status for pull requests that people open).
251 -
252 - I'm inclined to merge this up, as the worst case is that it becomes
253 - dormant cruft in the repository root.
254 -
255 - Will merge to 'master'.
256 -
257 -
258 -* rs/status-detached-head-memcmp (2015-11-28) 1 commit
259 - (merged to 'next' on 2015-12-04 at 60232db)
260 - + wt-status: correct and simplify check for detached HEAD
261 -
262 - Fix some string-matching corner cases when digging in the reflog for
263 - "git status".
264 -
265 - Will merge to 'master' and then 'maint'.
266 -
267 -
342 * sg/lock-file-commit-error (2015-12-01) 1 commit
269 - - Make error message after failing commit_lock_file() less confusing
343 + (merged to 'next' on 2015-12-08 at ef53cd6)
344 + + Make error message after failing commit_lock_file() less confusing
345
346 Cosmetic improvement to lock-file error messages.
347
273 - Comments on the new messages?
274 -
275 - Will merge to 'next' after giving time for bikeshedding.
348 + Will merge to 'master'.
349
350
351 * bb/merge-marker-crlf (2015-11-24) 1 commit
@@ -355,20 +428,10 @@ But note that I will _not_ be pushing to kernel.org.
428 Waiting for review.
429
430
358 -* ls/test-must-fail-sigpipe (2015-11-28) 2 commits
359 - (merged to 'next' on 2015-12-01 at d374686)
360 - + add "ok=sigpipe" to test_must_fail and use it to fix flaky tests
361 - + implement test_might_fail using a refactored test_must_fail
362 -
363 - Fix some racy client/server tests by treating SIGPIPE the same as a
364 - normal non-zero exit.
365 -
366 - Will merge to 'master' by -rc0.
367 -
368 -
431 * mc/push-recurse-submodules-config (2015-12-04) 3 commits
370 - - push: follow the "last one wins" convention for --recurse-submodules
371 - - push: test that --recurse-submodules on command line overrides config
432 + (merged to 'next' on 2015-12-08 at 1b81967)
433 + + push: follow the "last one wins" convention for --recurse-submodules
434 + + push: test that --recurse-submodules on command line overrides config
435 (merged to 'next' on 2015-11-24 at 3644d4b)
436 + push: add recurseSubmodules config option
437
@@ -377,56 +440,6 @@ But note that I will _not_ be pushing to kernel.org.
440 Waiting for review from submodule folks.
441
442
380 -* dt/refs-backend-pre-vtable (2015-11-20) 10 commits
381 - (merged to 'next' on 2015-11-24 at 8fd7293)
382 - + refs: break out ref conflict checks
383 - + files_log_ref_write: new function
384 - + initdb: make safe_create_dir public
385 - + refs: split filesystem-based refs code into a new file
386 - + refs/refs-internal.h: new header file
387 - + refname_is_safe(): improve docstring
388 - + pack_if_possible_fn(): use ref_type() instead of is_per_worktree_ref()
389 - + copy_msg(): rename to copy_reflog_msg()
390 - + verify_refname_available(): new function
391 - + verify_refname_available(): rename function
392 -
393 - Code preparation for pluggable ref backends.
394 -
395 - Will merge to 'master' by -rc0.
396 -
397 -
398 -* vl/grep-configurable-threads (2015-12-04) 1 commit
399 - . grep: add --threads=<num> option and grep.threads configuration
400 -
401 - "git grep" can now be configured (or told from the command line)
402 - how many threads to use when searching in the working tree files.
403 -
404 - There was some review from Eric. Also this seems to break a test.
405 -
406 - Waiting for a reroll, or at least a response.
407 - ($gmane/281160)
408 -
409 -
410 -* kf/http-proxy-auth-methods (2015-11-04) 3 commits
411 - . SQUASH???
412 - . http: use credential API to handle proxy authentication
413 - . http: allow selection of proxy authentication method
414 -
415 - New http.proxyAuthMethod configuration variable can be used to
416 - specify what authentication method to use, as a way to work around
417 - proxies that do not give error response expected by libcurl when
418 - CURLAUTH_ANY is used. Also, the codepath for proxy authentication
419 - has been taught to use credential API to store the authentication
420 - material in user's keyrings.
421 -
422 - I ejected this from pu for the moment, as it conflicts with the
423 - pt/http-socks-proxy topic. That is now in master, so it can
424 - be re-rolled on top.
425 -
426 - Still being worked on.
427 - ($gmane/280925)
428 -
429 -
443 * sb/submodule-parallel-update (2015-11-20) 27 commits
444 - clone: allow an explicit argument for parallel submodule clones
445 - submodule update: expose parallelism to the user
@@ -503,17 +516,6 @@ But note that I will _not_ be pushing to kernel.org.
516 Waiting for review.
517
518
506 -* ep/ident-with-getaddrinfo (2015-11-28) 1 commit
507 - (merged to 'next' on 2015-12-01 at 0775d4c)
508 - + ident.c: add support for IPv6
509 -
510 - A build without NO_IPv6 used to use gethostbyname() when guessing
511 - user's hostname, instead of getaddrinfo() that is used in other
512 - codepaths in such a build.
513 -
514 - Will merge to 'master' by -rc0.
515 -
516 -
519 * mh/notes-allow-reading-treeish (2015-10-08) 3 commits
520 (merged to 'next' on 2015-10-23 at 8a697f0)
521 + notes: allow treeish expressions as notes ref
@@ -688,19 +690,3 @@ But note that I will _not_ be pushing to kernel.org.
690 before this final step can proceed.
691
692 Will keep in 'next'.
691 -
692 -
693 ---------------------------------------------------
694 -[Discarded]
695 -
696 -* mr/ff-refs (2015-11-28) 6 commits
697 - . builtin/ff-refs.c: mark some file-local variables static
698 - . ff-refs: Add tests
699 - . ff-refs: Add documentation
700 - . ff-refs: add --dry-run and --skip-worktree options
701 - . ff-refs: update each updatable ref
702 - . ff-refs: builtin cmd to check and fast forward local refs to their upstream
703 -
704 - Specialized command to fast-forward refs to match their upstream.
705 -
706 -