What's cooking (2014/03 #08)

Junio C Hamano committed Mar 31, 2014 at 17:24 UTC a8bbd000742a9463c2713a750498ecdceb17eafa
1 file changed +197 -193
whats-cooking.txt
+197 -193
@@ -1,18 +1,22 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Mar 2014, #07; Fri, 28)
4 -X-master-at: 96e67c86f817b4fbd492b12f57dae4bd821571ba
5 -X-next-at: f39dc61b64e8fe9f0fb9ad70df8bb78bf1f5f911
3 +Subject: What's cooking in git.git (Mar 2014, #08; Mon, 31)
4 +X-master-at: 25d1ac0e59f4471c3b124a0c19cad9f9511a26ad
5 +X-next-at: 875d83ee45ac54ebd34015807b9d6c3817e4b249
6
7 -What's cooking in git.git (Mar 2014, #07; Fri, 28)
7 +What's cooking in git.git (Mar 2014, #08; Mon, 31)
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'.
13
14 -More topics merged to 'master', many of which are fallouts from GSoC
15 -microprojects.
14 +More topics merged to 'master', some of which are fallouts from GSoC
15 +microprojects, some are updates to docs. C/C++ funcname pattern
16 +update is now in.
17 +
18 +I haven't reverted the merge of that "submodule update" topic yet; I
19 +should do that soonish.
20
21 You can find the changes described here in the integration branches
22 of the repositories listed at
@@ -22,141 +26,186 @@ of the repositories listed at
26 --------------------------------------------------
27 [Graduated to "master"]
28
25 -* ah/doc-gitk-config (2014-03-20) 1 commit
26 - (merged to 'next' on 2014-03-20 at d671b60)
27 - + Documentation/gitk: document the location of the configulation file
28 -
29 -
30 -* bg/rebase-off-of-previous-branch (2014-03-19) 1 commit
31 - (merged to 'next' on 2014-03-21 at 916b759)
32 - + rebase: allow "-" short-hand for the previous branch
33 -
34 - "git rebase" learned to interpret a lone "-" as "@{-1}", the
35 - branch that we were previously on.
36 -
37 -
38 -* bp/commit-p-editor (2014-03-18) 7 commits
39 - (merged to 'next' on 2014-03-21 at 23b6b06)
40 - + run-command: mark run_hook_with_custom_index as deprecated
41 - + merge hook tests: fix and update tests
42 - + merge: fix GIT_EDITOR override for commit hook
43 - + commit: fix patch hunk editing with "commit -p -m"
44 - + test patch hunk editing with "commit -p -m"
45 - + merge hook tests: use 'test_must_fail' instead of '!'
46 - + merge hook tests: fix missing '&&' in test
47 -
48 - When it is not necessary to edit a commit log message (e.g. "git
49 - commit -m" is given a message without specifying "-e"), we used to
50 - disable the spawning of the editor by overriding GIT_EDITOR, but
51 - this means all the uses of the editor, other than to edit the
52 - commit log message, are also affected.
53 -
54 -
55 -* fr/add-interactive-argv-array (2014-03-18) 1 commit
56 - (merged to 'next' on 2014-03-20 at 9d65f3d)
57 - + add: use struct argv_array in run_add_interactive()
58 -
59 -
60 -* jk/pack-bitmap (2014-03-17) 1 commit
61 - (merged to 'next' on 2014-03-20 at bba6246)
62 - + pack-objects: turn off bitmaps when skipping objects
63 -
64 - Instead of dying when asked to (re)pack with the reachability
65 - bitmap when a bitmap cannot be built, just (re)pack without
66 - producing a bitmap in such a case, with a warning.
67 -
29 +* an/branch-config-message (2014-03-24) 1 commit
30 + (merged to 'next' on 2014-03-26 at 26f9741)
31 + + branch.c: install_branch_config: simplify if chain
32
69 -* jk/pack-bitmap-progress (2014-03-17) 2 commits
70 - (merged to 'next' on 2014-03-20 at c7a83f9)
71 - + pack-objects: show reused packfile objects in "Counting objects"
72 - + pack-objects: show progress for reused packfiles
33
74 - The progress output while repacking and transferring objects showed
75 - an apparent large silence while writing the objects out of existing
76 - packfiles, when the reachability bitmap was in use.
34 +* ca/doc-config-third-party (2014-03-21) 1 commit
35 + (merged to 'next' on 2014-03-25 at 731e011)
36 + + config.txt: third-party tools may and do use their own variables
37
38
79 -* jk/subtree-prefix (2014-03-17) 1 commit
80 - (merged to 'next' on 2014-03-20 at 81367fa)
81 - + subtree: initialize "prefix" variable
39 +* dp/makefile-charset-lib-doc (2014-03-23) 1 commit
40 + (merged to 'next' on 2014-03-25 at b32e3ad)
41 + + Makefile: describe CHARSET_LIB better
42
83 - A stray environment variable $prefix could have leaked into and
84 - affected the behaviour of the "subtree" script.
43
44 +* dt/tests-with-env-not-subshell (2014-03-19) 1 commit
45 + (merged to 'next' on 2014-03-25 at 19fe25f)
46 + + tests: use "env" to run commands with temporary env-var settings
47 + (this branch is used by jk/tests-cleanup.)
48
87 -* ys/fsck-commit-parsing (2014-03-19) 2 commits
88 - (merged to 'next' on 2014-03-21 at 2728983)
89 - + fsck.c:fsck_commit(): use skip_prefix() to verify and skip constant
90 - + fsck.c:fsck_ident(): ident points at a const string
49
92 ---------------------------------------------------
93 -[New Topics]
94 -
95 -* jc/apply-ignore-whitespace (2014-03-26) 1 commit
96 - - apply --ignore-space-change: lines with and without leading whitespaces do not match
50 +* dw/doc-status-no-longer-shows-pound-prefix (2014-03-21) 1 commit
51 + (merged to 'next' on 2014-03-25 at 2683eb6)
52 + + doc: status, remove leftover statement about '#' prefix
53
98 - An RFC. "--ignore-space-change" option of "git apply" ignored the
99 - spaces at the beginning of line too aggressively, which is
100 - inconsistent with the option of the same name "diff" and "git diff"
101 - have.
54
103 - Will hold.
55 +* hs/simplify-bit-setting-in-fsck-tree (2014-03-20) 1 commit
56 + (merged to 'next' on 2014-03-25 at 08efd68)
57 + + fsck: use bitwise-or assignment operator to set flag
58
59
106 -* jc/rev-parse-argh-dashed-multi-words (2014-03-24) 3 commits
107 - - parse-options: make sure argh string does not have SP or _
108 - - update-index: teach --cacheinfo a new syntax "mode,sha1,path"
109 - - parse-options: multi-word argh should use dash to separate words
110 - (this branch uses ib/rev-parse-parseopt-argh.)
60 +* ib/rev-parse-parseopt-argh (2014-03-23) 2 commits
61 + (merged to 'next' on 2014-03-25 at d9083ed)
62 + + t1502: protect runs of SPs used in the indentation
63 + + rev-parse --parseopt: option argument name hints
64 + (this branch is used by jc/rev-parse-argh-dashed-multi-words.)
65
112 - Make sure that the help text given to describe the "<param>" part
113 - of the "git cmd --option=<param>" does not contain SP or _,
114 - e.g. "--gpg-sign=<key-id>" option for "git commit" is not spelled
115 - as "--gpg-sign=<key id>".
66 + Teaches the "rev-parse --parseopt" mechanism used by scripted
67 + Porcelains to parse command line options and give help text how to
68 + supply argv-help (the placeholder string for an option parameter,
69 + e.g. "key-id" in "--gpg-sign=<key-id>").
70
117 - Will merge to 'next'.
71
72 +* jk/tests-cleanup (2014-03-21) 12 commits
73 + (merged to 'next' on 2014-03-26 at 4a72b49)
74 + + t0001: drop subshells just for "cd"
75 + + t0001: drop useless subshells
76 + + t0001: use test_must_fail
77 + + t0001: use test_config_global
78 + + t0001: use test_path_is_*
79 + + t0001: make symlink reinit test more careful
80 + + t: prefer "git config --file" to GIT_CONFIG
81 + + t: prefer "git config --file" to GIT_CONFIG with test_must_fail
82 + + t: stop using GIT_CONFIG to cross repo boundaries
83 + + t: drop useless sane_unset GIT_* calls
84 + + t/test-lib: drop redundant unset of GIT_CONFIG
85 + + t/Makefile: stop setting GIT_CONFIG
86 + (this branch uses dt/tests-with-env-not-subshell.)
87
120 -* jk/commit-dates-parsing-fix (2014-03-26) 1 commit
121 - - t4212: loosen far-in-future test for AIX
88
123 - I think we agreed that a simpler test would be a better way
124 - forward.
89 +* js/userdiff-cc (2014-03-21) 10 commits
90 + (merged to 'next' on 2014-03-25 at 8c0e585)
91 + + userdiff: have 'cpp' hunk header pattern catch more C++ anchor points
92 + + t4018: test cases showing that the cpp pattern misses many anchor points
93 + + t4018: test cases for the built-in cpp pattern
94 + + t4018: reduce test files for pattern compilation tests
95 + + t4018: convert custom pattern test to the new infrastructure
96 + + t4018: convert java pattern test to the new infrastructure
97 + + t4018: convert perl pattern tests to the new infrastructure
98 + + t4018: an infrastructure to test hunk headers
99 + + userdiff: support unsigned and long long suffixes of integer constants
100 + + userdiff: support C++ ->* and .* operators in the word regexp
101
102 + Improves the pattern to match the hunk-header for C/C++.
103
127 -* mr/msvc-link-with-invalidcontinue (2014-03-28) 1 commit
128 - - MSVC: link in invalidcontinue.obj for better POSIX compatibility
104
130 - Will merge to 'next'.
105 +* mm/status-porcelain-format-i18n-fix (2014-03-26) 1 commit
106 + (merged to 'next' on 2014-03-26 at 41680fc)
107 + + status: disable translation when --porcelain is used
108
109
110 * mr/msvc-link-with-lcurl (2014-03-27) 1 commit
111 (merged to 'next' on 2014-03-28 at 3281dab)
112 + MSVC: allow linking with the cURL library
113
137 - Will merge to 'master'.
138 -
114
115 * wt/doc-submodule-name-path-confusion-1 (2014-03-27) 1 commit
116 (merged to 'next' on 2014-03-28 at 225f241)
117 + doc: submodule.* config are keyed by submodule names
118
144 - Will merge to 'master'.
145 -
119
120 * wt/doc-submodule-name-path-confusion-2 (2014-03-27) 1 commit
121 (merged to 'next' on 2014-03-28 at ec5bcf3)
122 + doc: submodule.*.branch config is keyed by name
123
151 - Will merge to 'master'.
124 +--------------------------------------------------
125 +[New Topics]
126
127 +* cb/aix (2014-03-31) 2 commits
128 + - tests: don't rely on strerror text when testing rmdir failure
129 + - dir.c: make git_fnmatch() not inline
130
154 -* ep/shell-command-substitution (2014-03-25) 2 commits
155 - (merged to 'next' on 2014-03-28 at 99a512a)
156 - + git-am.sh: use the $(...) construct for command substitution
157 - + check-builtins.sh: use the $(...) construct for command substitution
131 + Will merge to 'next'.
132 +
133 +
134 +* jc/fix-diff-no-index-diff-opt-parse (2014-03-31) 1 commit
135 + - diff-no-index: correctly diagnose error return from diff_opt_parse()
136 +
137 + "diff --no-index -Mq a b" fell into an infinite loop.
138 +
139 + Will merge to 'next'.
140 +
141 +
142 +* mr/opt-set-ptr (2014-03-31) 3 commits
143 + - parse-options: remove unused OPT_SET_PTR
144 + - parse-options: add cast to correct pointer type to OPT_SET_PTR
145 + - MSVC: fix t0040-parse-options crash
146 +
147 + OPT_SET_PTR() implementation was broken on IL32P64 platforms.
148 +
149 + We may just want directly to go to the endgame of removing
150 + OPT_SET_PTR macro, which nobody seems to use.
151 +
152 +
153 +* mt/patch-id-stable (2014-03-31) 3 commits
154 + - patch-id-test: test --stable and --unstable flags
155 + - patch-id: document new behaviour
156 + - patch-id: make it stable against hunk reordering
157 +
158 + Introduce a new way to compute patch-id for a patch that is not
159 + affected by the order of the paths that appear in the input.
160 +
161 +
162 +* jl/nor-or-nand-and (2014-03-31) 4 commits
163 + - code and test: fix misuses of "nor"
164 + - comments: fix misuses of "nor"
165 + - contrib: fix misuses of "nor"
166 + - Documentation: fix misuses of "nor"
167 +
168 + Eradicate mistaken use of "nor" (that is, essentially "nor" used
169 + not in "neither A nor B" ;-)) from in-code comments, command output
170 + strings, and documentations.
171 +
172 +
173 +* mh/ref-transaction (2014-03-31) 27 commits
174 + - ref_transaction_commit(): work with transaction->updates in place
175 + - struct ref_update: add type field
176 + - struct ref_update: add a lock member
177 + - ref_transaction_commit(): simplify expressions
178 + - struct ref_update: store refname as a FLEX_ARRAY
179 + - struct ref_update: rename field "ref_name" to "refname"
180 + - refs: remove API function update_refs()
181 + - update-ref --stdin: reimplement using reference transactions
182 + - refs: add a concept of a reference transaction
183 + - update-ref --stdin: harmonize error messages
184 + - update-ref --stdin: improve the error message for unexpected EOF
185 + - t1400: test one breakage at a time
186 + - update-ref --stdin -z: deprecate interpreting the empty string as zeros
187 + - update-ref.c: extract a new function, parse_next_sha1()
188 + - t1400: test that stdin -z update treats empty <newvalue> as zeros
189 + - update-ref --stdin: simplify error messages for missing oldvalues
190 + - update-ref --stdin: make error messages more consistent
191 + - update-ref --stdin: improve error messages for invalid values
192 + - update-ref.c: extract a new function, parse_refname()
193 + - parse_cmd_verify(): copy old_sha1 instead of evaluating <oldvalue> twice
194 + - update-ref --stdin: read the whole input at once
195 + - update_refs(): tighten constness
196 + - refs.h: rename the action_on_err constants
197 + - t1400: add some more tests involving quoted arguments
198 + - parse_arg(): really test that argument is properly terminated
199 + - t1400: provide more usual input to the command
200 + - t1400: fix test name and expected result of one test
201 +
202 + Update "update-ref --stdin [-z]" and then introduce a transactional
203 + support for (multi-)reference updates.
204 +
205 + I think the earlier part should be merged to 'next' soonish in
206 + order to keep the topic that is still in flux reasonably short. I
207 + haven't read the "transaction" part carefully yet.
208
159 - Will merge to 'master'.
209
210 --------------------------------------------------
211 [Stalled]
@@ -231,9 +280,7 @@ of the repositories listed at
280 * kb/fast-hashmap-pack-struct (2014-02-24) 1 commit
281 - hashmap.h: make sure map entries are tightly packed
282
234 - I am inclined to drop this; an alternative is to replace it with
235 - the "more portable" one that uses #pragma, which I am willing to
236 - try doing so on 'pu', though.
283 + Will discard.
284
285
286 * po/everyday-doc (2014-01-27) 1 commit
@@ -363,74 +410,49 @@ of the repositories listed at
410 --------------------------------------------------
411 [Cooking]
412
366 -* jk/tests-cleanup (2014-03-21) 12 commits
367 - (merged to 'next' on 2014-03-26 at 4a72b49)
368 - + t0001: drop subshells just for "cd"
369 - + t0001: drop useless subshells
370 - + t0001: use test_must_fail
371 - + t0001: use test_config_global
372 - + t0001: use test_path_is_*
373 - + t0001: make symlink reinit test more careful
374 - + t: prefer "git config --file" to GIT_CONFIG
375 - + t: prefer "git config --file" to GIT_CONFIG with test_must_fail
376 - + t: stop using GIT_CONFIG to cross repo boundaries
377 - + t: drop useless sane_unset GIT_* calls
378 - + t/test-lib: drop redundant unset of GIT_CONFIG
379 - + t/Makefile: stop setting GIT_CONFIG
380 - (this branch uses dt/tests-with-env-not-subshell.)
381 -
382 - Will merge to 'master'.
413 +* jc/apply-ignore-whitespace (2014-03-26) 1 commit
414 + - apply --ignore-space-change: lines with and without leading whitespaces do not match
415
416 + An RFC. "--ignore-space-change" option of "git apply" ignored the
417 + spaces at the beginning of line too aggressively, which is
418 + inconsistent with the option of the same name "diff" and "git diff"
419 + have.
420
385 -* ca/doc-config-third-party (2014-03-21) 1 commit
386 - (merged to 'next' on 2014-03-25 at 731e011)
387 - + config.txt: third-party tools may and do use their own variables
421 + Will hold.
422
389 - Will merge to 'master'.
423
424 +* jc/rev-parse-argh-dashed-multi-words (2014-03-24) 3 commits
425 + (merged to 'next' on 2014-03-31 at 1c48649)
426 + + parse-options: make sure argh string does not have SP or _
427 + + update-index: teach --cacheinfo a new syntax "mode,sha1,path"
428 + + parse-options: multi-word argh should use dash to separate words
429
392 -* dw/doc-status-no-longer-shows-pound-prefix (2014-03-21) 1 commit
393 - (merged to 'next' on 2014-03-25 at 2683eb6)
394 - + doc: status, remove leftover statement about '#' prefix
430 + Make sure that the help text given to describe the "<param>" part
431 + of the "git cmd --option=<param>" does not contain SP or _,
432 + e.g. "--gpg-sign=<key-id>" option for "git commit" is not spelled
433 + as "--gpg-sign=<key id>".
434
435 Will merge to 'master'.
436
437
399 -* js/userdiff-cc (2014-03-21) 10 commits
400 - (merged to 'next' on 2014-03-25 at 8c0e585)
401 - + userdiff: have 'cpp' hunk header pattern catch more C++ anchor points
402 - + t4018: test cases showing that the cpp pattern misses many anchor points
403 - + t4018: test cases for the built-in cpp pattern
404 - + t4018: reduce test files for pattern compilation tests
405 - + t4018: convert custom pattern test to the new infrastructure
406 - + t4018: convert java pattern test to the new infrastructure
407 - + t4018: convert perl pattern tests to the new infrastructure
408 - + t4018: an infrastructure to test hunk headers
409 - + userdiff: support unsigned and long long suffixes of integer constants
410 - + userdiff: support C++ ->* and .* operators in the word regexp
411 -
412 - Improves the pattern to match the hunk-header for C/C++.
438 +* jk/commit-dates-parsing-fix (2014-03-26) 1 commit
439 + - t4212: loosen far-in-future test for AIX
440
414 - Will merge to 'master'.
441 + I think we agreed that a simpler test would be a better way
442 + forward.
443
444
417 -* dp/makefile-charset-lib-doc (2014-03-23) 1 commit
418 - (merged to 'next' on 2014-03-25 at b32e3ad)
419 - + Makefile: describe CHARSET_LIB better
445 +* mr/msvc-link-with-invalidcontinue (2014-03-28) 1 commit
446 + (merged to 'next' on 2014-03-31 at 051a29e)
447 + + MSVC: link in invalidcontinue.obj for better POSIX compatibility
448
449 Will merge to 'master'.
450
451
424 -* ib/rev-parse-parseopt-argh (2014-03-23) 2 commits
425 - (merged to 'next' on 2014-03-25 at d9083ed)
426 - + t1502: protect runs of SPs used in the indentation
427 - + rev-parse --parseopt: option argument name hints
428 - (this branch is used by jc/rev-parse-argh-dashed-multi-words.)
429 -
430 - Teaches the "rev-parse --parseopt" mechanism used by scripted
431 - Porcelains to parse command line options and give help text how to
432 - supply argv-help (the placeholder string for an option parameter,
433 - e.g. "key-id" in "--gpg-sign=<key-id>").
452 +* ep/shell-command-substitution (2014-03-25) 2 commits
453 + (merged to 'next' on 2014-03-28 at 99a512a)
454 + + git-am.sh: use the $(...) construct for command substitution
455 + + check-builtins.sh: use the $(...) construct for command substitution
456
457 Will merge to 'master'.
458
@@ -455,13 +477,6 @@ of the repositories listed at
477 Will merge to 'master'.
478
479
458 -* an/branch-config-message (2014-03-24) 1 commit
459 - (merged to 'next' on 2014-03-26 at 26f9741)
460 - + branch.c: install_branch_config: simplify if chain
461 -
462 - Will merge to 'master'.
463 -
464 -
480 * as/grep-fullname-config (2014-03-20) 1 commit
481 (merged to 'next' on 2014-03-28 at 810a076)
482 + grep: add grep.fullName config variable
@@ -475,33 +490,14 @@ of the repositories listed at
490 Will hold.
491
492
478 -* nd/gc-aggressive (2014-03-17) 4 commits
479 - - gc --aggressive: three phase repacking
480 - - gc --aggressive: make --depth configurable
481 - - pack-objects: support --keep
493 +* nd/gc-aggressive (2014-03-31) 2 commits
494 - environment.c: fix constness for odb_pack_keep()
495 + - gc --aggressive: make --depth configurable
496
497 + Allow tweaking the maximum length of the delta-chain produced by
498 + "gc --aggressive".
499
485 -* dt/tests-with-env-not-subshell (2014-03-19) 1 commit
486 - (merged to 'next' on 2014-03-25 at 19fe25f)
487 - + tests: use "env" to run commands with temporary env-var settings
488 - (this branch is used by jk/tests-cleanup.)
489 -
490 - Will merge to 'master'.
491 -
492 -
493 -* hs/simplify-bit-setting-in-fsck-tree (2014-03-20) 1 commit
494 - (merged to 'next' on 2014-03-25 at 08efd68)
495 - + fsck: use bitwise-or assignment operator to set flag
496 -
497 - Will merge to 'master'.
498 -
499 -
500 -* mm/status-porcelain-format-i18n-fix (2014-03-26) 1 commit
501 - (merged to 'next' on 2014-03-26 at 41680fc)
502 - + status: disable translation when --porcelain is used
503 -
504 - Will merge to 'master'.
500 + Will merge to 'next'.
501
502
503 * ap/remote-hg-skip-null-bookmarks (2014-03-25) 1 commit
@@ -560,16 +556,21 @@ of the repositories listed at
556 rely on symbolic links and make sharing of objects and refs safer
557 by making the borrowee and borrowers aware of each other.
558
559 + What is the doneness of this thing? I remember reading it through
560 + once and sent review comments on earlier parts, but have there been
561 + a lot of discussions on this topic?
562 +
563
564 * ks/tree-diff-nway (2014-03-27) 19 commits
565 - combine-diff: speed it up, by using multiparent diff tree-walker directly
566 - tree-diff: rework diff_tree() to generate diffs for multiparent cases as well
567 - Portable alloca for Git
568 - - tree-diff: reuse base str(buf) memory on sub-tree recursion
569 - - tree-diff: no need to call "full" diff_tree_sha1 from show_path()
570 - - tree-diff: rework diff_tree interface to be sha1 based
571 - - tree-diff: diff_tree() should now be static
572 - - tree-diff: remove special-case diff-emitting code for empty-tree cases
568 + (merged to 'next' on 2014-03-31 at 16a7bd4)
569 + + tree-diff: reuse base str(buf) memory on sub-tree recursion
570 + + tree-diff: no need to call "full" diff_tree_sha1 from show_path()
571 + + tree-diff: rework diff_tree interface to be sha1 based
572 + + tree-diff: diff_tree() should now be static
573 + + tree-diff: remove special-case diff-emitting code for empty-tree cases
574 (merged to 'next' on 2014-03-25 at cfcbdac)
575 + tree-diff: simplify tree_entry_pathcmp
576 + tree-diff: show_path prototype is not needed anymore
@@ -591,6 +592,9 @@ of the repositories listed at
592 detections and such. And N=2 case nicely degenerates to the usual
593 2-way diff-tree, which is very nice.
594
595 + The preparatory steps are all in 'next'. The real fun part should
596 + follow soonish (hopefully).
597 +
598
599 * nd/log-show-linear-break (2014-03-25) 2 commits
600 (merged to 'next' on 2014-03-28 at ea4a8db)