What's cooking (2016/05 #01)

Junio C Hamano committed May 3, 2016 at 15:48 UTC 501045565db22298afc79f84307b0c25d66c6822
1 file changed +298 -309
whats-cooking.txt
+298 -309
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Apr 2016, #08; Fri, 29)
4 -X-master-at: bbc61680168542cf6fd3ae637bde395c73b76f0f
5 -X-next-at: 5ace31314f460db9aef2f1e2e1bd58016b1541f1
3 +Subject: What's cooking in git.git (May 2016, #01; Tue, 3)
4 +X-master-at: 4bb51aed1e858bfac174255ae4d8994af3a8e07a
5 +X-next-at: d223320ae286a25b183b0959b1a0160871c6684a
6
7 -What's cooking in git.git (Apr 2016, #08; Fri, 29)
7 +What's cooking in git.git (May 2016, #01; Tue, 3)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -12,11 +12,11 @@ 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 'master' branch now has the eighths batch of topics of this
16 -cycle. On the 'maint' front, 2.8.2 is out.
15 +The 'master' branch now has the ninth batch of topics of this cycle.
16 +On the 'maint' front, 2.8.2 is out and fixes that have been in
17 +'master' accumulates on it for 2.8.3.
18
18 -There are a handful of topics that are stuck; they are marked as
19 -"Needs review", "Needs an Ack", etc. in the following list.
19 +Ones with questionable status has a '?' character in their comments.
20
21 You can find the changes described here in the integration branches
22 of the repositories listed at
@@ -26,275 +26,161 @@ of the repositories listed at
26 --------------------------------------------------
27 [Graduated to "master"]
28
29 -* da/user-useconfigonly (2016-04-01) 2 commits
30 - (merged to 'next' on 2016-04-22 at 26845a5)
31 - + ident: give "please tell me" message upon useConfigOnly error
32 - + ident: check for useConfigOnly before auto-detection of name/email
33 -
34 - The "user.useConfigOnly" configuration variable makes it an error
35 - if users do not explicitly set user.name and user.email. However,
36 - its check was not done early enough and allowed another error to
37 - trigger, reporting that the default value we guessed from the
38 - system setting was unusable. This was a suboptimal end-user
39 - experience as we want the users to set user.name/user.email without
40 - relying on the auto-detection at all.
41 -
42 -
43 -* jc/merge-refuse-new-root (2016-04-21) 2 commits
44 - (merged to 'next' on 2016-04-22 at 74eb957)
45 - + pull: pass --allow-unrelated-histories to "git merge"
46 - + t3033: avoid 'ambiguous refs' warning
47 -
48 - "git pull" has been taught to pass --allow-unrelated-histories
49 - option to underlying "git merge".
50 -
51 -
52 -* jk/push-client-deadlock-fix (2016-04-20) 5 commits
53 - (merged to 'next' on 2016-04-22 at d59a2af)
54 - + t5504: drop sigpipe=ok from push tests
55 - + fetch-pack: isolate sigpipe in demuxer thread
56 - + send-pack: isolate sigpipe in demuxer thread
57 - + run-command: teach async threads to ignore SIGPIPE
58 - + send-pack: close demux pipe before finishing async process
59 -
60 - "git push" from a corrupt repository that attempts to push a large
61 - number of refs deadlocked; the thread to relay rejection notices
62 - for these ref updates blocked on writing them to the main thread,
63 - after the main thread at the receiving end notices that the push
64 - failed and decides not to read these notices and return a failure.
65 -
66 -
67 -* js/replace-edit-use-editor-configuration (2016-04-20) 1 commit
68 - (merged to 'next' on 2016-04-22 at 8df6d30)
69 - + replace --edit: respect core.editor
70 -
71 - "git replace -e" did not honour "core.editor" configuration.
72 -
73 -
74 -* js/win32-mmap (2016-04-22) 3 commits
75 - (merged to 'next' on 2016-04-22 at cd39c60)
76 - + mmap(win32): avoid expensive fstat() call
77 - + mmap(win32): avoid copy-on-write when it is unnecessary
78 - + win32mmap: set errno appropriately
79 -
80 - mmap emulation on Windows has been optimized and work better without
81 - consuming paging store when not needed.
82 -
29 +* en/merge-fixes (2016-04-12) 2 commits
30 + (merged to 'next' on 2016-04-27 at 14d7d10)
31 + + merge-recursive: do not check working copy when creating a virtual merge base
32 + + merge-recursive: remove duplicate code
33
84 -* nd/test-helpers (2016-04-15) 2 commits
85 - (merged to 'next' on 2016-04-22 at 55ea5cd)
86 - + test helpers: move test-* to t/helper/ subdirectory
87 - + Makefile: clean *.o files we create
34 + "merge-recursive" strategy incorrectly checked if a path that is
35 + involved in its internal merge exists in the working tree.
36
89 - Sources to many test helper binaries (and the generated helpers)
90 - have been moved to t/helper/ subdirectory to reduce clutter at the
91 - top level of the tree.
37
38 +* jd/p4-jobs-in-commit (2016-04-19) 2 commits
39 + (merged to 'next' on 2016-04-27 at 654d946)
40 + + git-p4: add P4 jobs to git commit message
41 + + git-p4: clean-up code style in tests
42
94 -* sb/mv-submodule-fix (2016-04-19) 1 commit
95 - (merged to 'next' on 2016-04-22 at 089e788)
96 - + mv: allow moving nested submodules
43 + "git p4" learned to record P4 jobs in Git commit that imports from
44 + the history in Perforce.
45
98 - "git mv old new" did not adjust the path for a submodule that lives
99 - as a subdirectory inside old/ directory correctly.
46
47 +* jd/send-email-to-whom (2016-04-25) 1 commit
48 + (merged to 'next' on 2016-04-27 at 47ae363)
49 + + send-email: fix grammo in the prompt that asks e-mail recipients
50
102 -* st/verify-tag (2016-04-22) 6 commits
103 - (merged to 'next' on 2016-04-22 at 98ba239)
104 - + tag -v: verify directly rather than exec-ing verify-tag
105 - + verify-tag: move tag verification code to tag.c
106 - + verify-tag: prepare verify_tag for libification
107 - + verify-tag: update variable name and type
108 - + t7030: test verifying multiple tags
109 - + builtin/verify-tag.c: ignore SIGPIPE in gpg-interface
51 + A question by "git send-email" to ask the identity of the sender
52 + has been updated.
53
111 - Unify internal logic between "git tag -v" and "git verify-tag"
112 - commands by making one directly call into the other.
54
114 ---------------------------------------------------
115 -[New Topics]
55 +* jk/fix-attribute-macro-in-2.5 (2016-04-25) 1 commit
56 + (merged to 'next' on 2016-04-27 at 2e42613)
57 + + remote.c: spell __attribute__ correctly
58
117 -* ab/hooks (2016-04-26) 4 commits
118 - - hooks: allow customizing where the hook directory is
119 - - githooks.txt: minor improvements to the grammar & phrasing
120 - - githooks.txt: amend dangerous advice about 'update' hook ACL
121 - - githooks.txt: improve the intro section
59 + Code fixup.
60
123 - A new configuration variable core.hooksPath allows customizing
124 - where the hook directory is.
61
126 - Almost there.
127 - ($gmane/292635)
62 +* js/name-rev-use-oldest-ref (2016-04-22) 1 commit
63 + (merged to 'next' on 2016-04-27 at 8fdc0ac)
64 + + name-rev: include taggerdate in considering the best name
65
66 + "git describe --contains" often made a hard-to-justify choice of
67 + tag to give name to a given commit, because it tried to come up
68 + with a name with smallest number of hops from a tag, causing an old
69 + commit whose close descendant that is recently tagged were not
70 + described with respect to an old tag but with a newer tag. It did
71 + not help that its computation of "hop" count was further tweaked to
72 + penalize being on a side branch of a merge. The logic has been
73 + updated to favor using the tag with the oldest tagger date, which
74 + is a lot easier to explain to the end users: "We describe a commit
75 + in terms of the (chronologically) oldest tag that contains the
76 + commit."
77
130 -* jc/merge-impossible-no-commit (2016-04-26) 2 commits
131 - - merge: warn --no-commit merge when no new commit is created
132 - - merge: do not contaminate option_commit with --squash
78
134 - "git merge --no-commit" silently succeeded when there is no need to
135 - create any commit, either when you are more recent than the commit
136 - you tried to merge, or you can fast-forward to the commit you tried
137 - to merge. The command gives a warning message in such cases.
79 +* nd/remove-unused (2016-04-22) 2 commits
80 + (merged to 'next' on 2016-04-27 at 7917efa)
81 + + wrapper.c: delete dead function git_mkstemps()
82 + + dir.c: remove dead function fnmatch_icase()
83
139 - Just tying loose ends in a discussion. Unless somebody else
140 - champions this topic, I'll drop it.
84 + Code cleanup.
85
86
143 -* jk/fix-attribute-macro-in-2.5 (2016-04-25) 1 commit
144 - (merged to 'next' on 2016-04-27 at 2e42613)
145 - + remote.c: spell __attribute__ correctly
87 +* nf/mergetool-prompt (2016-04-25) 1 commit
88 + (merged to 'next' on 2016-04-27 at 1c992df)
89 + + difftool/mergetool: make the form of yes/no questions consistent
90
147 - Code fixup.
91 + UI consistency improvements.
92
149 - Will merge to 'master'.
93
94 +* rt/string-list-lookup-cleanup (2016-04-25) 1 commit
95 + (merged to 'next' on 2016-04-27 at 53514e1)
96 + + string_list: use string-list API in unsorted_string_list_lookup()
97
152 -* js/http-custom-headers (2016-04-27) 1 commit
153 - (merged to 'next' on 2016-04-27 at 0c97a50)
154 - + http: support sending custom HTTP headers
98 + Code cleanup.
99
156 - HTTP transport clients learned to throw extra HTTP headers at the
157 - server, specified via http.extraHeader configuration variable.
100
159 - Will merge to 'master'.
101 +* sg/test-lib-simplify-expr-away (2016-04-22) 1 commit
102 + (merged to 'next' on 2016-04-27 at 8f40952)
103 + + test-lib: simplify '--option=value' parsing
104
105 + Code cleanup.
106
162 -* sb/bisect (2016-04-15) 22 commits
163 - - SQUASH???
164 - - bisect: get back halfway shortcut
165 - - bisect: compute best bisection in compute_relevant_weights()
166 - - bisect: use a bottom-up traversal to find relevant weights
167 - - bisect: prepare for different algorithms based on find_all
168 - - bisect: rename count_distance() to compute_weight()
169 - - bisect: make total number of commits global
170 - - bisect: introduce distance_direction()
171 - - bisect: extract get_distance() function from code duplication
172 - - bisect: use commit instead of commit list as arguments when appropriate
173 - - bisect: replace clear_distance() by unique markers
174 - - bisect: use struct node_data array instead of int array
175 - - bisect: get rid of recursion in count_distance()
176 - - bisect: make algorithm behavior independent of DEBUG_BISECT
177 - - bisect: make bisect compile if DEBUG_BISECT is set
178 - - bisect: plug the biggest memory leak
179 - - bisect: add test for the bisect algorithm
180 - - t6030: generalize test to not rely on current implementation
181 - - t: use test_cmp_rev() where appropriate
182 - - t/test-lib-functions.sh: generalize test_cmp_rev
183 - - bisect: allow 'bisect run' if no good commit is known
184 - - bisect: write about `bisect next` in documentation
107 +--------------------------------------------------
108 +[New Topics]
109
186 - The internal algorithm used in "git bisect" to find the next commit
187 - to check has been optimized greatly.
110 +* ew/normal-to-e (2016-05-02) 1 commit
111 + - .mailmap: update to my shorter email address
112
189 - Expecting a reroll.
190 - ($gmane/291163)
113 + Will merge to 'next'.
114
115
193 -* sb/config-exit-status-list (2016-04-26) 1 commit
194 - (merged to 'next' on 2016-04-27 at 44fe343)
195 - + config doc: improve exit code listing
116 +* jc/diff-compact-always-use-blank-heuristics (2016-04-29) 3 commits
117 + - diff: enable "compaction heuristics" and lose experimentation knob
118 + (merged to 'next' on 2016-04-22 at 0c117ea)
119 + + xdiff: implement empty line chunk heuristic
120 + + xdiff: add recs_match helper function
121 + (this branch is tangled with jk/diff-compact-heuristic.)
122
197 - Doc update.
123 + This should be discarded.
124
199 - Will merge to 'master'.
125
126 +* js/close-packs-before-gc (2016-05-02) 1 commit
127 + - t5510: run auto-gc in the foreground
128
202 -* mh/split-under-lock (2016-04-27) 29 commits
203 - - lock_ref_sha1_basic(): only handle REF_NODEREF mode
204 - - commit_ref_update(): remove the flags parameter
205 - - lock_ref_for_update(): don't resolve symrefs
206 - - lock_ref_for_update(): don't re-read non-symbolic references
207 - - refs: resolve symbolic refs first
208 - - ref_transaction_update(): check refname_is_safe() at a minimum
209 - - unlock_ref(): move definition higher in the file
210 - - lock_ref_for_update(): new function
211 - - add_update(): initialize the whole ref_update
212 - - verify_refname_available(): adjust constness in declaration
213 - - refs: don't dereference on rename
214 - - refs: allow log-only updates
215 - - delete_branches(): use resolve_refdup()
216 - - ref_transaction_commit(): correctly report close_ref() failure
217 - - ref_transaction_create(): disallow recursive pruning
218 - - refs: make error messages more consistent
219 - - lock_ref_sha1_basic(): remove unneeded local variable
220 - - read_raw_ref(): improve docstring
221 - - read_raw_ref(): rename symref argument to referent
222 - - read_raw_ref(): clear *type at start of function
223 - - read_raw_ref(): rename flags argument to type
224 - - ref_transaction_commit(): remove local variable n
225 - - rename_ref(): remove unneeded local variable
226 - - commit_ref_update(): write error message to *err, not stderr
227 - - refname_is_safe(): insist that the refname already be normalized
228 - - refname_is_safe(): don't allow the empty string
229 - - refname_is_safe(): use skip_prefix()
230 - - remove_dir_recursively(): add docstring
231 - - safe_create_leading_directories(): improve docstring
129 + Will merge to 'next'.
130
233 - Further preparatory work on the refs API before the pluggable
234 - backend series can land.
131
236 - Almost there.
237 - ($gmane/292772)
132 +* ls/travis-submitting-patches (2016-05-02) 1 commit
133 + - Documentation: add setup instructions for Travis CI
134
135 + Will merge to 'next'.
136
240 -* bn/http-cookiefile-config (2016-04-29) 2 commits
241 - - http: expand http.cookieFile as a path
242 - - Documentation: config: improve word ordering for http.cookieFile
243 - (this branch uses jc/config-pathname-type.)
137
245 - "http.cookieFile" configuration variable clearly wants a pathname,
246 - but we forgot to treat it as such by e.g. applying tilde expansion.
138 +* rn/glossary-typofix (2016-05-02) 1 commit
139 + - Documentation: fix typo 'In such these cases'
140
248 - Waiting for an Ack to what's queued with tweaks, or a reroll.
249 - ($gmane/292969)
141 + Will merge to 'next'.
142
143
252 -* ew/doc-split-pack-disables-bitmap (2016-04-28) 1 commit
253 - - pack-objects: warn on split packs disabling bitmaps
144 +* jc/commit-tree-ignore-commit-gpgsign (2016-05-03) 1 commit
145 + - commit-tree: do not pay attention to commit.gpgsign
146
255 - Doc update.
147 + "git commit-tree" plumbing command required the user to always sign
148 + its result when the user sets the commit.gpgsign configuration
149 + variable, which was an ancient mistake. Rework "git rebase" that
150 + relied on this mistake so that it reads commit.gpgsign and pass (or
151 + not pass) the -S option to "git commit-tree" to keep the end-user
152 + expectation the same, while teaching "git commit-tree" to ignore
153 + the configuration variable. This will stop requiring the users to
154 + sign commit objects used internally as an implementation detail of
155 + "git stash".
156
157 Will merge to 'next'.
158
159
260 -* jc/config-pathname-type (2016-04-29) 1 commit
261 - - config: describe 'pathname' value type
262 - (this branch is used by bn/http-cookiefile-config.)
263 -
264 - Consolidate description of tilde-expansion that is done to
265 - configuration variables that take pathname to a single place.
160 +* jk/push-client-deadlock-fix (2016-05-02) 1 commit
161 + - Windows: add pthread_sigmask() that does nothing
162
163 Will merge to 'next'.
164
165
270 -* jk/submodule-config-sanitize-fix (2016-04-28) 5 commits
271 - - submodule: use prepare_submodule_repo_env consistently
272 - - submodule--helper: move config-sanitizing to submodule.c
273 - - submodule: export sanitized GIT_CONFIG_PARAMETERS
274 - - t5550: break submodule config test into multiple sub-tests
275 - - t5550: fix typo in $HTTPD_URL
276 -
277 - An earlier addition of "sanitize_submodule_env" with 14111fc4 (git:
278 - submodule honor -c credential.* from command line, 2016-02-29)
279 - turned out to be a convoluted no-op; implement what it wanted to do
280 - correctly.
166 +* sb/clean-test-fix (2016-05-03) 1 commit
167 + - t7300: mark test with SANITY
168
282 - With a rethink of the merit of "sanitization" going on, we may end
283 - up doing the configuration propagation very differently, though.
169 + Will merge to 'next'.
170
285 - Will hold.
171
172 +* sb/submodule-module-list-pathspec-fix (2016-05-03) 1 commit
173 + - submodule deinit test: fix broken && chain in subshell
174
288 -* mh/connect-leak (2016-04-28) 1 commit
289 - - git_connect(): fix memory leak with CONNECT_DIAG_URL
175 + Will merge to 'next'.
176
291 - Is already made obsolete with a patch in flight under discussion.
292 - ($gmane/292962)
177
178 +* sk/gitweb-highlight-encoding (2016-05-03) 1 commit
179 + - gitweb: apply fallback encoding before highlight
180
295 -* sb/misc-cleanups (2016-04-28) 2 commits
296 - - submodule-config: don't shadow `cache`
297 - - config.c: drop local variable
181 + Some multi-byte encoding can have a backslash byte as a later part
182 + of one letter, which would confuse "highlight" filter used in
183 + gitweb.
184
185 Will merge to 'next'.
186
@@ -309,7 +195,7 @@ of the repositories listed at
195 not, causing "git diff $path" to complain that no such path is
196 known to Git. They have been taught to do the normalization.
197
312 - Will be rerolled?
198 + Will this be rerolled?
199 ($gmane/290724)
200
201
@@ -491,53 +377,184 @@ of the repositories listed at
377 --------------------------------------------------
378 [Cooking]
379
494 -* js/name-rev-use-oldest-ref (2016-04-22) 1 commit
495 - (merged to 'next' on 2016-04-27 at 8fdc0ac)
496 - + name-rev: include taggerdate in considering the best name
380 +* ab/hooks (2016-04-26) 4 commits
381 + - hooks: allow customizing where the hook directory is
382 + - githooks.txt: minor improvements to the grammar & phrasing
383 + - githooks.txt: amend dangerous advice about 'update' hook ACL
384 + - githooks.txt: improve the intro section
385
498 - "git describe --contains" often made a hard-to-justify choice of
499 - tag to give name to a given commit, because it tried to come up
500 - with a name with smallest number of hops from a tag, causing an old
501 - commit whose close descendant that is recently tagged were not
502 - described with respect to an old tag but with a newer tag. It did
503 - not help that its computation of "hop" count was further tweaked to
504 - penalize being on a side branch of a merge. The logic has been
505 - updated to favor using the tag with the oldest tagger date, which
506 - is a lot easier to explain to the end users: "We describe a commit
507 - in terms of the (chronologically) oldest tag that contains the
508 - commit."
386 + A new configuration variable core.hooksPath allows customizing
387 + where the hook directory is.
388
510 - Will merge to 'master'.
389 + Almost there.
390 + ($gmane/292635)
391
392
513 -* nd/remove-unused (2016-04-22) 2 commits
514 - (merged to 'next' on 2016-04-27 at 7917efa)
515 - + wrapper.c: delete dead function git_mkstemps()
516 - + dir.c: remove dead function fnmatch_icase()
393 +* jc/merge-impossible-no-commit (2016-04-26) 2 commits
394 + - merge: warn --no-commit merge when no new commit is created
395 + - merge: do not contaminate option_commit with --squash
396
518 - Code cleanup.
397 + "git merge --no-commit" silently succeeded when there is no need to
398 + create any commit, either when you are more recent than the commit
399 + you tried to merge, or you can fast-forward to the commit you tried
400 + to merge. The command gives a warning message in such cases.
401
520 - Will merge to 'master'.
402 + Just tying loose ends in a discussion. Unless somebody else
403 + champions this topic, I'll drop it.
404
405
523 -* rt/string-list-lookup-cleanup (2016-04-25) 1 commit
524 - (merged to 'next' on 2016-04-27 at 53514e1)
525 - + string_list: use string-list API in unsorted_string_list_lookup()
406 +* js/http-custom-headers (2016-04-27) 1 commit
407 + (merged to 'next' on 2016-04-27 at 0c97a50)
408 + + http: support sending custom HTTP headers
409
527 - Code cleanup.
410 + HTTP transport clients learned to throw extra HTTP headers at the
411 + server, specified via http.extraHeader configuration variable.
412
413 Will merge to 'master'.
414
415
532 -* sg/test-lib-simplify-expr-away (2016-04-22) 1 commit
533 - (merged to 'next' on 2016-04-27 at 8f40952)
534 - + test-lib: simplify '--option=value' parsing
416 +* sb/bisect (2016-04-15) 22 commits
417 + - SQUASH???
418 + - bisect: get back halfway shortcut
419 + - bisect: compute best bisection in compute_relevant_weights()
420 + - bisect: use a bottom-up traversal to find relevant weights
421 + - bisect: prepare for different algorithms based on find_all
422 + - bisect: rename count_distance() to compute_weight()
423 + - bisect: make total number of commits global
424 + - bisect: introduce distance_direction()
425 + - bisect: extract get_distance() function from code duplication
426 + - bisect: use commit instead of commit list as arguments when appropriate
427 + - bisect: replace clear_distance() by unique markers
428 + - bisect: use struct node_data array instead of int array
429 + - bisect: get rid of recursion in count_distance()
430 + - bisect: make algorithm behavior independent of DEBUG_BISECT
431 + - bisect: make bisect compile if DEBUG_BISECT is set
432 + - bisect: plug the biggest memory leak
433 + - bisect: add test for the bisect algorithm
434 + - t6030: generalize test to not rely on current implementation
435 + - t: use test_cmp_rev() where appropriate
436 + - t/test-lib-functions.sh: generalize test_cmp_rev
437 + - bisect: allow 'bisect run' if no good commit is known
438 + - bisect: write about `bisect next` in documentation
439
536 - Code cleanup.
440 + The internal algorithm used in "git bisect" to find the next commit
441 + to check has been optimized greatly.
442 +
443 + Expecting a reroll.
444 + ($gmane/291163)
445 +
446 +
447 +* sb/config-exit-status-list (2016-04-26) 1 commit
448 + (merged to 'next' on 2016-04-27 at 44fe343)
449 + + config doc: improve exit code listing
450 +
451 + Doc update.
452
453 Will merge to 'master'.
454
455
456 +* mh/split-under-lock (2016-04-27) 29 commits
457 + - lock_ref_sha1_basic(): only handle REF_NODEREF mode
458 + - commit_ref_update(): remove the flags parameter
459 + - lock_ref_for_update(): don't resolve symrefs
460 + - lock_ref_for_update(): don't re-read non-symbolic references
461 + - refs: resolve symbolic refs first
462 + - ref_transaction_update(): check refname_is_safe() at a minimum
463 + - unlock_ref(): move definition higher in the file
464 + - lock_ref_for_update(): new function
465 + - add_update(): initialize the whole ref_update
466 + - verify_refname_available(): adjust constness in declaration
467 + - refs: don't dereference on rename
468 + - refs: allow log-only updates
469 + - delete_branches(): use resolve_refdup()
470 + - ref_transaction_commit(): correctly report close_ref() failure
471 + - ref_transaction_create(): disallow recursive pruning
472 + - refs: make error messages more consistent
473 + - lock_ref_sha1_basic(): remove unneeded local variable
474 + - read_raw_ref(): improve docstring
475 + - read_raw_ref(): rename symref argument to referent
476 + - read_raw_ref(): clear *type at start of function
477 + - read_raw_ref(): rename flags argument to type
478 + - ref_transaction_commit(): remove local variable n
479 + - rename_ref(): remove unneeded local variable
480 + - commit_ref_update(): write error message to *err, not stderr
481 + - refname_is_safe(): insist that the refname already be normalized
482 + - refname_is_safe(): don't allow the empty string
483 + - refname_is_safe(): use skip_prefix()
484 + - remove_dir_recursively(): add docstring
485 + - safe_create_leading_directories(): improve docstring
486 +
487 + Further preparatory work on the refs API before the pluggable
488 + backend series can land.
489 +
490 + Almost there.
491 + ($gmane/292772)
492 +
493 +
494 +* bn/http-cookiefile-config (2016-04-29) 2 commits
495 + - http: expand http.cookieFile as a path
496 + - Documentation: config: improve word ordering for http.cookieFile
497 + (this branch uses jc/config-pathname-type.)
498 +
499 + "http.cookieFile" configuration variable clearly wants a pathname,
500 + but we forgot to treat it as such by e.g. applying tilde expansion.
501 +
502 + Waiting for an Ack to what's queued with tweaks, or a reroll.
503 + ($gmane/292969)
504 +
505 +
506 +* ew/doc-split-pack-disables-bitmap (2016-04-28) 1 commit
507 + - pack-objects: warn on split packs disabling bitmaps
508 +
509 + Doc update.
510 +
511 + Will merge to 'next'.
512 +
513 +
514 +* jc/config-pathname-type (2016-04-29) 1 commit
515 + - config: describe 'pathname' value type
516 + (this branch is used by bn/http-cookiefile-config.)
517 +
518 + Consolidate description of tilde-expansion that is done to
519 + configuration variables that take pathname to a single place.
520 +
521 + Will merge to 'next'.
522 +
523 +
524 +* jk/submodule-config-sanitize-fix (2016-04-28) 5 commits
525 + - submodule: use prepare_submodule_repo_env consistently
526 + - submodule--helper: move config-sanitizing to submodule.c
527 + - submodule: export sanitized GIT_CONFIG_PARAMETERS
528 + - t5550: break submodule config test into multiple sub-tests
529 + - t5550: fix typo in $HTTPD_URL
530 +
531 + An earlier addition of "sanitize_submodule_env" with 14111fc4 (git:
532 + submodule honor -c credential.* from command line, 2016-02-29)
533 + turned out to be a convoluted no-op; implement what it wanted to do
534 + correctly.
535 +
536 + With a rethink of the merit of "sanitization" going on, we may end
537 + up doing the configuration propagation very differently, though.
538 +
539 + Will hold.
540 +
541 +
542 +* mh/connect-leak (2016-04-28) 1 commit
543 + - git_connect(): fix memory leak with CONNECT_DIAG_URL
544 +
545 + Is already made obsolete with a patch in flight under discussion.
546 + ($gmane/292962)
547 +
548 + Will discard.
549 +
550 +
551 +* sb/misc-cleanups (2016-04-28) 2 commits
552 + - submodule-config: don't shadow `cache`
553 + - config.c: drop local variable
554 +
555 + Will merge to 'next'.
556 +
557 +
558 * ew/fast-import-unpack-limit (2016-04-24) 1 commit
559 - fast-import: implement unpack limit
560
@@ -549,16 +566,6 @@ of the repositories listed at
566 ($gmane/292562)
567
568
552 -* jd/send-email-to-whom (2016-04-25) 1 commit
553 - (merged to 'next' on 2016-04-27 at 47ae363)
554 - + send-email: fix grammo in the prompt that asks e-mail recipients
555 -
556 - A question by "git send-email" to ask the identity of the sender
557 - has been updated.
558 -
559 - Will merge to 'master'.
560 -
561 -
569 * ld/p4-test-py3 (2016-04-26) 3 commits
570 (merged to 'next' on 2016-04-27 at d5d5fca)
571 + git-p4 tests: time_in_seconds should use $PYTHON_PATH
@@ -592,17 +599,6 @@ of the repositories listed at
599 Will merge to 'master'.
600
601
595 -* jd/p4-jobs-in-commit (2016-04-19) 2 commits
596 - (merged to 'next' on 2016-04-27 at 654d946)
597 - + git-p4: add P4 jobs to git commit message
598 - + git-p4: clean-up code style in tests
599 -
600 - "git p4" learned to record P4 jobs in Git commit that imports from
601 - the history in Perforce.
602 -
603 - Will merge to 'master'.
604 -
605 -
602 * ls/p4-lfs (2016-04-28) 3 commits
603 - git-p4: fix Git LFS pointer parsing
604 - travis-ci: express Linux/OS X dependency versions more clearly
@@ -636,9 +632,8 @@ of the repositories listed at
632 core.autocrlf, there is no need to, hence we no longer reject the
633 combination.
634
639 - The last step seems to be identical to what I earlier did and
640 - discarded because the approach is fundamentally wrong, but I may be
641 - misreading the patch.
635 + Earlier steps looked alright, but it veers into a wrong direction
636 + in the middle.
637
638
639 * bc/object-id (2016-04-25) 6 commits
@@ -655,16 +650,15 @@ of the repositories listed at
650 Will merge to 'master'.
651
652
658 -* ep/http-curl-trace (2016-04-20) 3 commits
659 - - git.txt: document the new GIT_TRACE_CURL environment variable
660 - - imap-send.c: introduce the GIT_TRACE_CURL enviroment variable
661 - - http.c: implement the GIT_TRACE_CURL environment variable
653 +* ep/http-curl-trace (2016-05-02) 2 commits
654 + . imap-send.c: introduce the GIT_TRACE_CURL environment variable
655 + . http.c: implement the GIT_TRACE_CURL environment variable
656
657 HTTP transport gained an option to produce more detailed debugging
658 trace.
659
660 Still under discussion.
667 - ($gmane/292074)
661 + ($gmane/292074, 293236)
662
663
664 * nd/worktree-various-heads (2016-04-22) 13 commits
@@ -701,7 +695,8 @@ of the repositories listed at
695 Will merge to 'master'.
696
697
704 -* pb/commit-verbose-config (2016-04-19) 6 commits
698 +* pb/commit-verbose-config (2016-05-02) 7 commits
699 + - t/t7507: tests for broken behavior of status
700 - commit: add a commit.verbose config variable
701 - t7507-commit-verbose: improve test coverage by testing number of diffs
702 - parse-options.c: make OPTION_COUNTUP respect "unspecified" values
@@ -713,19 +708,8 @@ of the repositories listed at
708 configuration variable and act as if "--verbose" option was
709 given from the command line.
710
716 - Need a reroll but it will be some time before that happens.
717 - ($gmane/292160).
718 -
719 -
720 -* en/merge-fixes (2016-04-12) 2 commits
721 - (merged to 'next' on 2016-04-27 at 14d7d10)
722 - + merge-recursive: do not check working copy when creating a virtual merge base
723 - + merge-recursive: remove duplicate code
724 -
725 - "merge-recursive" strategy incorrectly checked if a path that is
726 - involved in its internal merge exists in the working tree.
727 -
728 - Will merge to 'master'.
711 + Almost there.
712 + ($gmane/293410).
713
714
715 * jc/fsck-nul-in-commit (2016-04-14) 2 commits
@@ -735,28 +719,41 @@ of the repositories listed at
719 "git fsck" learned to catch NUL byte in a commit object as
720 potential error and warn.
721
722 + What was the status of this one? Ready to proceed?
723 +
724
725 * jc/ll-merge-internal (2016-04-27) 3 commits
726 - t6036: remove pointless test that expects failure
727 - ll-merge: use a longer conflict marker for internal merge
728 - ll-merge: fix typo in comment
729
744 - RFC.
730 + "git rerere" can get confused by conflict markers deliberately left
731 + by the inner merge step, because they are indistinguishable from
732 + the real conflict markers left by the outermost merge which are
733 + what the end user and "rerere" need to look at. This was fixed by
734 + making the conflict markers left by the inner merges a bit longer.
735 +
736 + Will rebase to remove the comment after three-dash line and then merge.
737
738
747 -* jk/diff-compact-heuristic (2016-04-19) 2 commits
739 +* jk/diff-compact-heuristic (2016-05-02) 3 commits
740 + (merged to 'next' on 2016-05-02 at 2a74763)
741 + + diff: undocument the compaction heuristic knobs for experimentation
742 (merged to 'next' on 2016-04-22 at 0c117ea)
743 + xdiff: implement empty line chunk heuristic
744 + xdiff: add recs_match helper function
745 + (this branch is tangled with jc/diff-compact-always-use-blank-heuristics.)
746
747 Patch output from "git diff" and friends has been tweaked to be
748 more readable by using a blank line as a strong hint that the
749 contents before and after it belong to a logically separate unit.
750
756 - Will merge to 'master' after removing the experimentation knob.
751 + Will merge to 'master'.
752
753
759 -* sb/submodule-init (2016-04-29) 6 commits
754 +* sb/submodule-init (2016-05-03) 7 commits
755 + (merged to 'next' on 2016-05-03 at 8a5fce4)
756 + + submodule init: redirect stdout to stderr
757 (merged to 'next' on 2016-04-29 at 3e81ee88)
758 + submodule--helper update-clone: abort gracefully on missing .gitmodules
759 + submodule init: fail gracefully with a missing .gitmodules file
@@ -783,15 +780,6 @@ of the repositories listed at
780 Needs review.
781
782
786 -* nf/mergetool-prompt (2016-04-25) 1 commit
787 - (merged to 'next' on 2016-04-27 at 1c992df)
788 - + difftool/mergetool: make the form of yes/no questions consistent
789 -
790 - UI consistency improvements.
791 -
792 - Will merge to 'master'.
793 -
794 -
783 * va/i18n-misc-updates (2016-04-19) 9 commits
784 - i18n: builtin/pull.c: split strings marked for translation
785 - i18n: builtin/pull.c: mark placeholders for translation
@@ -806,6 +794,7 @@ of the repositories listed at
794 Mark several messages for translation.
795
796 Comments? They looked all sensible to me.
797 + Does the lack of response mean lack of interest and support?
798
799
800 * jc/drop-git-spec-in (2016-04-27) 2 commits
@@ -859,7 +848,7 @@ of the repositories listed at
848 ($gmane/292622).
849
850
862 -* dt/index-helper (2016-04-28) 19 commits
851 +* dt/index-helper (2016-05-02) 19 commits
852 . untracked-cache: config option
853 . Add tracing to measure where most of the time is spent
854 . index-helper: optionally automatically run
@@ -870,7 +859,7 @@ of the repositories listed at
859 . unpack-trees: preserve index extensions
860 . update-index: enable/disable watchman support
861 . index-helper: use watchman to avoid refreshing index with lstat()
873 - . Add watchman support to reduce index refresh cost
862 + . watchman: add support to watchman to reduce refresh cost
863 . read-cache: add watchman 'WAMA' extension
864 . index-helper: add --detach
865 . daemonize(): set a flag before exiting the main process
@@ -880,8 +869,8 @@ of the repositories listed at
869 . read-cache: allow to keep mmap'd memory after reading
870 . read-cache.c: fix constness of verify_hdr()
871
883 - Needs review.
884 - t7900#5 seems to fail for me.
872 + Needs review. Reported to break its own tests.
873 + ($gmane/293461).
874
875
876 * jc/bundle (2016-03-03) 6 commits