What's cooking (2014/01 #06)

Junio C Hamano committed Jan 29, 2014 at 14:19 UTC dd7142c9f19b12d4bf3ff3da34d4a229a0e078d9
1 file changed +116 -218
whats-cooking.txt
+116 -218
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Jan 2014, #05; Mon, 27)
3 +Subject: What's cooking in git.git (Jan 2014, #06; Wed, 29)
4 X-master-at: bd3e186d811a13d8687584856f345a767e3e4d67
5 -X-next-at: 0b1dcb534ef2691254edb3a0d66a3bdbbb849f98
5 +X-next-at: 614c158afed5077691c76d341b6888596b24b9fd
6
7 -What's cooking in git.git (Jan 2014, #05; Mon, 27)
7 +What's cooking in git.git (Jan 2014, #06; Wed, 29)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -23,221 +23,70 @@ of the repositories listed at
23 http://git-blame.blogspot.com/p/git-public-repositories.html
24
25 --------------------------------------------------
26 -[Graduated to "master"]
27 -
28 -* ab/subtree-doc (2014-01-13) 1 commit
29 - (merged to 'next' on 2014-01-22 at e352c75)
30 - + subtree: fix argument validation in add/pull/push
31 -
32 -
33 -* ef/mingw-write (2014-01-17) 2 commits
34 - (merged to 'next' on 2014-01-22 at b9ddab2)
35 - + mingw: remove mingw_write
36 - + prefer xwrite instead of write
37 -
38 -
39 -* jc/maint-pull-docfix (2014-01-14) 2 commits
40 - (merged to 'next' on 2014-01-22 at 2e62ef4)
41 - + Documentation: "git pull" does not have the "-m" option
42 - + Merge branch 'jc/maint-pull-docfix-for-409b8d82' into jc/maint-pull-docfix
43 - (this branch uses jc/maint-pull-docfix-for-409b8d82.)
44 -
45 -
46 -* jc/revision-range-unpeel (2014-01-15) 2 commits
47 - (merged to 'next' on 2014-01-22 at ab2a159)
48 - + revision: propagate flag bits from tags to pointees
49 - + revision: mark contents of an uninteresting tree uninteresting
50 -
51 - "git log --left-right A...B" lost the "leftness" of commits
52 - reachable from A when A is a tag as a side effect of a recent
53 - bugfix. This is a regression in 1.8.4.x series.
54 -
55 -
56 -* jk/allow-fetch-onelevel-refname (2014-01-15) 1 commit
57 - (merged to 'next' on 2014-01-22 at 15089b1)
58 - + fetch-pack: do not filter out one-level refs
59 -
60 - "git clone" would fail to clone from a repository that has a ref
61 - directly under "refs/", e.g. "refs/stash", because different
62 - validation paths do different things on such a refname. Loosen the
63 - client side's validation to allow such a ref.
64 -
65 -
66 -* jk/complete-merge-base (2014-01-13) 2 commits
67 - (merged to 'next' on 2014-01-22 at 91c428d)
68 - + completion: handle --[no-]fork-point options to git-rebase
69 - + completion: complete merge-base options
70 -
71 -
72 -* jk/diff-filespec-cleanup (2014-01-17) 5 commits
73 - (merged to 'next' on 2014-01-22 at fb26e43)
74 - + diff_filespec: use only 2 bits for is_binary flag
75 - + diff_filespec: reorder is_binary field
76 - + diff_filespec: drop xfrm_flags field
77 - + diff_filespec: drop funcname_pattern_ident field
78 - + diff_filespec: reorder dirty_submodule macro definitions
79 -
80 -
81 -* jk/interpret-branch-name-fix (2014-01-15) 5 commits
82 - (merged to 'next' on 2014-01-22 at f113c68)
83 - + interpret_branch_name: find all possible @-marks
84 - + interpret_branch_name: avoid @{upstream} past colon
85 - + interpret_branch_name: always respect "namelen" parameter
86 - + interpret_branch_name: rename "cp" variable to "at"
87 - + interpret_branch_name: factor out upstream handling
88 - (this branch is used by jk/branch-at-publish-rebased.)
89 -
90 - Fix a handful of bugs around interpreting $branch@{upstream}
91 - notation and its lookalike, when $branch part has interesting
92 - characters, e.g. "@", and ":".
93 -
94 -
95 -* jk/mark-edges-uninteresting (2014-01-21) 2 commits
96 - (merged to 'next' on 2014-01-22 at d8807c4)
97 - + list-objects: only look at cmdline trees with edge_hint
98 - + t/perf: time rev-list with UNINTERESTING commits
99 -
100 - Fix to regression in v1.8.4.x and later.
101 -
102 -
103 -* jk/test-fixes (2014-01-23) 2 commits
104 - (merged to 'next' on 2014-01-23 at 6515089)
105 - + t7700: do not use "touch" unnecessarily
106 - + t7501: fix "empty commit" test with NO_PERL
107 -
108 -
109 -* jn/ignore-doc (2014-01-16) 1 commit
110 - (merged to 'next' on 2014-01-22 at a07ac63)
111 - + gitignore doc: add global gitignore to synopsis
112 -
113 - Explicitly list $HOME/.config/git/ignore as one of the places you
114 - can use to keep ignore patterns that depend on your personal choice
115 - of tools, e.g. *~ for Emacs users.
116 -
117 -
118 -* mh/attr-macro-doc (2014-01-14) 1 commit
119 - (merged to 'next' on 2014-01-22 at e3ed767)
120 - + gitattributes: document more clearly where macros are allowed
121 -
122 -
123 -* mh/retire-ref-fetch-rules (2014-01-14) 1 commit
124 - (merged to 'next' on 2014-01-22 at 753b1f6)
125 - + refname_match(): always use the rules in ref_rev_parse_rules
126 -
127 - Code simplification.
128 -
129 -
130 -* mh/safe-create-leading-directories (2014-01-21) 17 commits
131 - (merged to 'next' on 2014-01-22 at ad38e73)
132 - + rename_tmp_log(): on SCLD_VANISHED, retry
133 - + rename_tmp_log(): limit the number of remote_empty_directories() attempts
134 - + rename_tmp_log(): handle a possible mkdir/rmdir race
135 - + rename_ref(): extract function rename_tmp_log()
136 - + remove_dir_recurse(): handle disappearing files and directories
137 - + remove_dir_recurse(): tighten condition for removing unreadable dir
138 - + lock_ref_sha1_basic(): if locking fails with ENOENT, retry
139 - + lock_ref_sha1_basic(): on SCLD_VANISHED, retry
140 - + safe_create_leading_directories(): add new error value SCLD_VANISHED
141 - + cmd_init_db(): when creating directories, handle errors conservatively
142 - + safe_create_leading_directories(): introduce enum for return values
143 - + safe_create_leading_directories(): always restore slash at end of loop
144 - + safe_create_leading_directories(): split on first of multiple slashes
145 - + safe_create_leading_directories(): rename local variable
146 - + safe_create_leading_directories(): add explicit "slash" pointer
147 - + safe_create_leading_directories(): reduce scope of local variable
148 - + safe_create_leading_directories(): fix format of "if" chaining
149 - (this branch is used by ss/safe-create-leading-dir-with-slash.)
150 -
151 - Code clean-up and protection against concurrent write access to the
152 - ref namespace.
153 -
154 -
155 -* nd/negative-pathspec (2014-01-23) 1 commit
156 - (merged to 'next' on 2014-01-23 at fd64119)
157 - + tree-walk.c: ignore trailing slash on submodule in tree_entry_interesting()
26 +[New Topics]
27
28 +* bc/gpg-sign-everywhere (2014-01-27) 9 commits
29 + - pull: add the --gpg-sign option.
30 + - rebase: add the --gpg-sign option
31 + - rebase: parse options in stuck-long mode
32 + - rebase: don't try to match -M option
33 + - rebase: remove useless arguments check
34 + - am: add the --gpg-sign option
35 + - am: parse options in stuck-long mode
36 + - git-sh-setup.sh: add variable to use the stuck-long mode
37 + - cherry-pick, revert: add the --gpg-sign option
38
160 -* pw/git-p4 (2014-01-22) 11 commits
161 - (merged to 'next' on 2014-01-22 at 60489cd)
162 - + git p4 doc: use two-line style for options with multiple spellings
163 - + git p4 test: examine behavior with locked (+l) files
164 - + git p4: fix an error message when "p4 where" fails
165 - + git p4: handle files with wildcards when doing RCS scrubbing
166 - + git p4 test: do not pollute /tmp
167 - + git p4 test: run as user "author"
168 - + git p4 test: is_cli_file_writeable succeeds
169 - + git p4 test: explicitly check p4 wildcard delete
170 - + git p4: work around p4 bug that causes empty symlinks
171 - + git p4 test: ensure p4 symlink parsing works
172 - + git p4 test: wildcards are supported
39 + Teach "--gpg-sign" option to many commands that create commits.
40
174 - Various "git p4" updates.
41 + Changes to some scripted Porcelains use unsafe variable
42 + substitutions and need to be tightened.
43
44 + Waiting for a reroll.
45
177 -* rk/send-email-ssl-cert (2014-01-16) 1 commit
178 - (merged to 'next' on 2014-01-22 at 2fb13f2)
179 - + send-email: /etc/ssl/certs/ directory may not be usable as ca_path
46
181 - The "if /etc/ssl/certs/ directory exists, explicitly tell the
182 - library to use it as SSL_ca_path" blind-defaulting in "git
183 - send-email" broke platforms where /etc/ssl/certs/ directory exists,
184 - but it cannot used as SSL_ca_path (e.g. Fedora rawhide). Fix it by
185 - not specifying any SSL_ca_path/SSL_ca_file but still asking for
186 - peer verification in such a case.
47 +* ds/rev-parse-required-args (2014-01-28) 1 commit
48 + - rev-parse: check i before using argv[i] against argc
49
50 + "git rev-parse --default" without the required option argument did
51 + not diagnose it as an error.
52
189 -* sb/repack-in-c (2014-01-23) 3 commits
190 - (merged to 'next' on 2014-01-23 at 3ff349f)
191 - + repack: propagate pack-objects options as strings
192 - + repack: make parsed string options const-correct
193 - + repack: fix typo in max-pack-size option
53 + Will merge to 'next'.
54
195 - "git repack --max-pack-size=8g" stopped being parsed correctly when
196 - the command was reimplemented in C.
55
56 +* jk/config-path-include-fix (2014-01-28) 2 commits
57 + - handle_path_include: don't look at NULL value
58 + - expand_user_path: do not look at NULL path
59
199 -* ss/safe-create-leading-dir-with-slash (2014-01-22) 1 commit
200 - (merged to 'next' on 2014-01-22 at ca62c45)
201 - + safe_create_leading_directories(): on Windows, \ can separate path components
202 - (this branch uses mh/safe-create-leading-directories.)
60 + include.path variable (or any variable that expects a path that can
61 + use ~username expansion) in the configuration file is not a
62 + boolean, but the code failed to check it.
63
204 - "git clone $origin foo\bar\baz" on Windows failed to create the
205 - leading directories (i.e. a moral-equivalent of "mkdir -p").
64 + Will merge to 'next'.
65
66
208 -* tr/gitk-doc-range-trace (2014-01-21) 1 commit
209 - (merged to 'next' on 2014-01-22 at 1d93d1d)
210 - + Documentation/gitk: document -L option
67 +* jk/repack-honor-pack-keep (2014-01-28) 1 commit
68 + - repack: add `repack.honorpackkeep` config var
69 + (this branch uses jk/pack-bitmap.)
70
71 + Optionally allow "git repack" to include objects that exist in kept
72 + packs in newly created packfiles.
73
213 -* tr/nth-previous-is-a-commit (2014-01-21) 1 commit
214 - (merged to 'next' on 2014-01-22 at 0425887)
215 - + Documentation: @{-N} can refer to a commit
74 + Waiting for response to review comments.
75
217 ---------------------------------------------------
218 -[New Topics]
76
220 -* lt/request-pull (2014-01-23) 3 commits
221 - - pull-request: test updates
222 - - Make request-pull able to take a refspec of form local:remote
223 - - Make 'git request-pull' more strict about matching
224 -
225 - Waiting for the updates to settle.
77 +* nd/submodule-pathspec-ending-with-slash (2014-01-27) 8 commits
78 + - clean: use cache_name_is_other()
79 + - clean: replace match_pathspec() with dir_path_match()
80 + - Pass directory indicator to match_pathspec_item()
81 + - match_pathspec: match pathspec "foo/" against directory "foo"
82 + - dir.c: prepare match_pathspec_item for taking more flags
83 + - Rename match_pathspec_depth() to match_pathspec()
84 + - Convert some match_pathspec_depth() to dir_path_match()
85 + - Convert some match_pathspec_depth() to ce_path_match()
86
227 -
228 -* bk/refresh-missing-ok-in-merge-recursive (2014-01-27) 4 commits
229 - - merge-recursive.c: Tolerate missing files while refreshing index
230 - - read-cache.c: Extend make_cache_entry refresh flag with options
231 - - read-cache.c: Refactor --ignore-missing implementation
232 - - t3030-merge-recursive: Test known breakage with empty work tree
233 -
234 - Will merge to 'next'.
235 -
236 -
237 -* nd/diff-quiet-stat-dirty (2014-01-27) 3 commits
238 - - diff: turn off skip_stat_unmatch on "diff --cached"
239 - - diff: do not quit early on stat-dirty files
240 - - Move diffcore_skip_stat_unmatch core logic out for reuse later
87 + Allow "git cmd path/", when the 'path' is where a submodule is
88 + bound to the top-level working tree, to match 'path', despite the
89 + extra and unnecessary trailing slash.
90
91 Will merge to 'next'.
92
@@ -256,9 +105,9 @@ of the repositories listed at
105
106 It appears that we are coming to the consensus that trying to be
107 too intimately knowledgeable about quirks of various pager
259 - implementations on different platforms is a losing proposition, so
260 - perhaps I should replace this with the alternative and simpler
261 - approach I posted, unless there are strong objections.
108 + implementations on different platforms is a losing proposition.
109 +
110 + Waiting for a reroll.
111
112
113 * po/everyday-doc (2014-01-27) 1 commit
@@ -270,6 +119,8 @@ of the repositories listed at
119 the right direction, but needs more work to at least get the
120 mark-up right before public consumption.
121
122 + Will hold.
123 +
124
125 * jk/branch-at-publish-rebased (2014-01-17) 5 commits
126 - t1507 (rev-parse-upstream): fix typo in test title
@@ -296,7 +147,7 @@ of the repositories listed at
147 hook, prepare-commit-msg, but it would equally apply to other hooks
148 like post-merge, I think.
149
299 - Waiting to give a chance to reroll.
150 + Waiting for a reroll.
151
152
153 * jl/submodule-recursive-checkout (2013-12-26) 5 commits
@@ -366,6 +217,8 @@ of the repositories listed at
217 with two changes to "git add" that have been scheduled for Git 2.0
218 quite badly, and I think I got the resolution right this time.
219
220 + Waiting for a reroll.
221 +
222
223 * kb/fast-hashmap (2014-01-03) 19 commits
224 - hashmap.h: make sure map entries are tightly packed
@@ -396,6 +249,8 @@ of the repositories listed at
249
250 The tip one does not seem to have reached concensus (yet).
251
252 + Will hold.
253 +
254
255 * jc/create-directories-microopt (2013-11-11) 1 commit
256 - checkout: most of the time we have good leading directories
@@ -414,7 +269,10 @@ of the repositories listed at
269 more generic solution that can be tailored for specific needs, as
270 many people stated in the thread.
271
417 - It appears that the discussion stalled.
272 + cc/interpret-trailers could be such a generic solution (although
273 + there don't seem to be much concensus yet).
274 +
275 + Will discard.
276
277
278 * np/pack-v4 (2013-09-18) 90 commits
@@ -444,6 +302,8 @@ of the repositories listed at
302 an extra blank line after every root, which I tend to think is a
303 better approach to the problem.
304
305 + Will discard.
306 +
307
308 * tg/perf-lib-test-perf-cleanup (2013-09-19) 2 commits
309 - perf-lib: add test_perf_cleanup target
@@ -452,7 +312,7 @@ of the repositories listed at
312 Add test_perf_cleanup shell function to the perf suite, that allows
313 the script writers to define a test with a clean-up action.
314
455 - Holding until needed.
315 + Will hold.
316
317
318 * yt/shortened-rename (2013-10-18) 2 commits
@@ -470,6 +330,8 @@ of the repositories listed at
330 - git-send-email: Cache generated message-ids, use them when prompting
331 - git-send-email: add optional 'choices' parameter to the ask sub
332
333 + Will discard.
334 +
335
336 * rj/read-default-config-in-show-ref-pack-refs (2013-06-17) 3 commits
337 - ### DONTMERGE: needs better explanation on what config they need
@@ -518,6 +380,36 @@ of the repositories listed at
380 --------------------------------------------------
381 [Cooking]
382
383 +* lt/request-pull (2014-01-23) 3 commits
384 + - pull-request: test updates
385 + - Make request-pull able to take a refspec of form local:remote
386 + - Make 'git request-pull' more strict about matching
387 +
388 + Waiting for the updates to settle.
389 +
390 +
391 +* bk/refresh-missing-ok-in-merge-recursive (2014-01-27) 4 commits
392 + (merged to 'next' on 2014-01-29 at 614c158)
393 + + merge-recursive.c: Tolerate missing files while refreshing index
394 + + read-cache.c: Extend make_cache_entry refresh flag with options
395 + + read-cache.c: Refactor --ignore-missing implementation
396 + + t3030-merge-recursive: Test known breakage with empty work tree
397 +
398 + Allows "merge-recursive" to work in an empty (temporary) working
399 + tree again when there are renames involved, correcting an old
400 + regression in 1.7.7 era.
401 +
402 + Will cook in 'next'.
403 +
404 +
405 +* nd/diff-quiet-stat-dirty (2014-01-29) 3 commits
406 + - diff: turn skip_stat_unmatch on selectively
407 + - diff: do not quit early on stat-dirty files
408 + - Move diffcore_skip_stat_unmatch core logic out for reuse later
409 +
410 + Will merge to 'next'.
411 +
412 +
413 * cc/interpret-trailers (2014-01-27) 17 commits
414 - Documentation: add documentation for 'git interpret-trailers'
415 - trailer: add tests for commands using env variables
@@ -537,19 +429,25 @@ of the repositories listed at
429 - trailer: process trailers from file and arguments
430 - Add data structures and basic functions for commit trailers
431
432 + Waiting for a reroll.
433 +
434
435 * dk/blame-janitorial (2014-01-22) 2 commits
542 - - Eliminate same_suspect function in builtin/blame.c
543 - - builtin/blame.c: struct blame_entry does not need a prev link
436 + (merged to 'next' on 2014-01-29 at 0b7ea97)
437 + + Eliminate same_suspect function in builtin/blame.c
438 + + builtin/blame.c: struct blame_entry does not need a prev link
439
545 - Will merge to 'next'.
440 + Code clean-up.
441
442 + Will hold.
443
548 -* ks/diff-c-with-diff-order (2014-01-21) 4 commits
444 +
445 +* ks/diff-c-with-diff-order (2014-01-29) 5 commits
446 + - combine_diff: simplify intersect_paths() further
447 - combine-diff: combine_diff_path.len is not needed anymore
550 - - combine-diff: Optimize combine_diff_path sets intersection
551 - - diff test: Add tests for combine-diff with orderfile
552 - - diffcore-order: Export generic ordering interface
448 + - combine-diff: optimize combine_diff_path sets intersection
449 + - diff test: add tests for combine-diff with orderfile
450 + - diffcore-order: export generic ordering interface
451
452 Teach combine-diff to honour the path-output-order imposed by
453 diffcore-order.
@@ -645,6 +543,7 @@ of the repositories listed at
543 + pack-objects: factor out name_hash
544 + pack-objects: refactor the packing list
545 + revindex: export new APIs
546 + (this branch is used by jk/repack-honor-pack-keep.)
547
548 Borrows the bitmap index into packfiles from JGit to speed up
549 enumeration of objects involved in a commit range without having to
@@ -697,7 +596,7 @@ of the repositories listed at
596 - merge-recursive: internal flag to avoid touching the worktree
597 - merge-recursive: remove dead conditional in update_stages()
598
700 - Will hold until using script appears.
599 + Will hold.
600
601
602 * jn/add-2.0-u-A-sans-pathspec (2013-04-26) 1 commit
@@ -740,7 +639,7 @@ of the repositories listed at
639 --------------------------------------------------
640 [Discarded]
641
743 -* jk/branch-at-publish (2014-01-13) 6 commits
642 +* jk/branch-at-publish (2014-01-23) 6 commits
643 . t1507 (rev-parse-upstream): fix typo in test title
644 . implement @{publish} shorthand
645 . branch_get: provide per-branch pushremote pointers
@@ -764,9 +663,8 @@ of the repositories listed at
663 Now in 'master' from the upstream gitk repository.
664
665
767 -* jc/parse-options-humint (2014-01-22) 2 commits
768 - . repack: accept larger window-memory and max-pack-size
666 +* jc/parse-options-humint (2014-01-22) 1 commit
667 . parse-options: refactor human-friendly-integer parser out of pack-objects
668
771 - "git repack --max-pack-size=8g" stopped being parsed correctly when
772 - the command was reimplemented in C.
669 + Teach parse-options machinery to optionally parse numbers with a
670 + unit suffix, e.g. 8g, 4m, 128k.