What's cooking (2015/07 #08)

Junio C Hamano committed Jul 31, 2015 at 13:01 UTC 9864e9c3c7171b61f8ce57a90001d359f60b0e7b
1 file changed +228 -112
whats-cooking.txt
+228 -112
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Jul 2015, #07; Mon, 27)
3 +Subject: What's cooking in git.git (Jul 2015, #08; Fri, 31)
4 X-master-at: a17c56c056d5fea0843b429132904c429a900229
5 -X-next-at: 0029c496ce1b91f10b75ade16604b8e9f5d8d20b
5 +X-next-at: d2dd00455917b2356208ce67ac57c55cac7c4abd
6
7 -What's cooking in git.git (Jul 2015, #07; Mon, 27)
7 +What's cooking in git.git (Jul 2015, #08; Fri, 31)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -24,56 +24,123 @@ of the repositories listed at
24 --------------------------------------------------
25 [New Topics]
26
27 -* da/subtree-date-confusion (2015-07-23) 1 commit
28 - - contrib/subtree: ignore log.date configuration
27 +* dt/reflog-tests (2015-07-28) 2 commits
28 + - tests: remove some direct access to .git/logs
29 + - t/t7509: remove unnecessary manipulation of reflog
30
30 - "git subtree" (in contrib/) depended on "git log" output to be
31 - stable, which was a no-no. Apply a workaround to force a
32 - particular date format.
31 + Update tests not to assume how reflogs are represented on the
32 + filesystem too much.
33
34 Will merge to 'next'.
35
36
37 -* db/send-pack-user-signingkey (2015-07-21) 1 commit
38 - - builtin/send-pack.c: respect user.signingkey
37 +* dt/unpack-trees-cache-tree-revalidate (2015-07-28) 1 commit
38 + - unpack-trees: populate cache-tree on successful merge
39
40 - The low-level "git send-pack" did not honor 'user.signingkey'
41 - configuration variable when sending a signed-push.
40 + Upon a successful merge into the index, repopulate the cache-tree,
41 + so that subsequent "diff-index --cached" (hence "status") and
42 + "write-tree" (hence "commit") will go faster.
43 +
44 + The same logic in "git checkout" may now be removed, but that is a
45 + separate issue.
46
47 Will merge to 'next'.
48
49
46 -* jk/refspec-parse-wildcard (2015-07-27) 2 commits
47 - - refs: loosen restriction on wildcard "*" refspecs
48 - - refs: cleanup comments regarding check_refname_component()
50 +* jk/negative-hiderefs (2015-07-28) 2 commits
51 + - refs: support negative transfer.hideRefs
52 + - docs/config.txt: reorder hideRefs config
53
50 - Allow an asterisk as a substring (as opposed to the entirety) of
51 - a path component for both side of a refspec, e.g.
52 - "refs/heads/o*:refs/remotes/heads/i*".
54 + Allow negative !ref entry in multi-value transfer.hideRefs
55 + configuration to say "don't hide this one".
56 +
57 + An update to test coming?
58 +
59 +
60 +* mh/get-remote-group-fix (2015-07-28) 4 commits
61 + - get_remote_group(): use skip_prefix()
62 + - get_remote_group(): eliminate superfluous call to strcspn()
63 + - get_remote_group(): rename local variable "space" to "wordlen"
64 + - get_remote_group(): handle remotes with single-character names
65 +
66 + An off-by-one error made "git remote" to mishandle a remote with a
67 + single letter nickname.
68
69 Will merge to 'next'.
70
71
57 -* jx/do-not-crash-receive-pack-wo-head (2015-07-22) 1 commit
58 - - receive-pack: crash when checking with non-exist HEAD
72 +* ta/docfix-index-format-tech (2015-07-28) 1 commit
73 + - typofix for index-format.txt
74
75 Will merge to 'next'.
76
77
63 -* kd/pull-rebase-autostash (2015-07-22) 1 commit
64 - - pull: allow dirty tree when rebase.autostash enabled
65 - (this branch uses pt/pull-builtin; is tangled with pt/am-builtin.)
78 +* dt/notes-multiple (2015-07-31) 2 commits
79 + - notes: handle multiple worktrees
80 + - worktrees: add die_if_shared_symref
81 + (this branch uses es/worktree-add and es/worktree-add-cleanup.)
82
67 - Teach "git pull --rebase" to pay attention to rebase.autostash
68 - configuration.
83 + Forbid simultaneous "notes merge" to happen for the same ref in
84 + refs/notes/* when linked worktree is used.
85 +
86 +
87 +* dt/refs-pseudo (2015-07-31) 5 commits
88 + - sequencer: replace write_cherry_pick_head with update_ref
89 + - bisect: use update_ref
90 + - pseudorefs: create and use pseudoref update and delete functions
91 + - refs: add ref_type function
92 + - refs: introduce pseudoref and per-worktree ref concepts
93 + (this branch uses dt/refs-backend-preamble.)
94 +
95 + To prepare for allowing a different "ref" backend to be plugged in
96 + to the system, teach update_ref()/delete_ref() about ref-like
97 + things like MERGE_HEAD that are per-worktree (they will always be
98 + written to the filesystem inside $GIT_DIR).
99 +
100 + Will merge to 'next'.
101 +
102 +
103 +* dt/untracked-sparse (2015-07-31) 1 commit
104 + - untracked-cache: support sparse checkout
105 +
106 + Allow untracked cache (experimental) to be used when sparse
107 + checkout (experimental) is also in use.
108 +
109 +
110 +* mm/for-each-ref-fixup (2015-07-29) 1 commit
111 + (merged to 'next' on 2015-07-29 at 32760e8)
112 + + fixup 39c528f0 ref-filter: fix indentation
113 + (this branch uses kn/for-each-ref; is tangled with kn/for-each-tag-branch.)
114 +
115 + Will squash into kn/for-each-tag-branch and rebuild 'next'.
116 +
117 +
118 +* pt/am-builtin-fix (2015-07-28) 1 commit
119 + - am: let command-line options override saved options
120 + (this branch uses pt/am-builtin and pt/pull-builtin; is tangled with kd/pull-rebase-autostash.)
121 +
122 + With "git am --options" followed by "git am --other-options", the
123 + options given in a later invocation should override the initial
124 + options for a single invocation, but the rewritten "git am" didn't.
125 +
126 + Expecting a reroll.
127 +
128 +
129 +* rj/bisect-terms-fixup (2015-07-30) 1 commit
130 + - bisect: add read_bisect_terms() to the public interface
131 + (this branch uses ad/bisect-cleanup and ad/bisect-terms.)
132 +
133 + Will squash into ad/bisect-cleanup.
134
135
71 -* es/doc-clean-outdated-tools (2015-07-25) 5 commits
72 - - Documentation/git-tools: drop references to defunct tools
73 - - Documentation/git-tools: drop references to defunct tools
74 - - Documentation/git-tools: fix item text formatting
75 - - Documentation/git-tools: improve discoverability of Git wiki
76 - - Documentation/git: drop outdated Cogito reference
136 +* sb/parse-options-codeformat (2015-07-29) 1 commit
137 + - parse-options: align curly braces for all options
138 +
139 + Will merge to 'next'.
140 +
141 +
142 +* sb/remove-unused-var-from-builtin-add (2015-07-31) 1 commit
143 + - add: remove dead code
144
145 Will merge to 'next'.
146
@@ -127,24 +194,6 @@ of the repositories listed at
194 What's the status of this one?
195
196
130 -* bc/object-id (2015-06-17) 10 commits
131 - . remote.c: use struct object_id in many functions
132 - . object-id: use struct object_id in struct object
133 - . remote.c: use struct object_id in ref_newer()
134 - . transport-helper.c: use struct object_id in push_refs_with_export()
135 - . connect.c: use struct object_id in get_remote_heads()
136 - . remote-curl: use struct object_id in parse_fetch()
137 - . fetch-pack: use struct object_id in add_sought_entry_mem()
138 - . object_id: convert struct ref to use object_id.
139 - . sha1_file: introduce has_object_file() helper
140 - . refs: convert some internal functions to use object_id
141 -
142 - More transition from "unsigned char[40]" to "struct object_id".
143 -
144 - While GSoC and other topics are actively moving existing code
145 - around, this cannot go in; ejected from 'pu'.
146 -
147 -
197 * wp/sha1-name-negative-match (2015-06-08) 2 commits
198 - sha1_name.c: introduce '^{/!-<negative pattern>}' notation
199 - test for '!' handling in rev-parse's named commits
@@ -206,7 +255,7 @@ of the repositories listed at
255 - bisect: add 'git bisect terms' to view the current terms
256 - bisect: add the terms old/new
257 - bisect: sanity check on terms
209 - (this branch uses ad/bisect-cleanup.)
258 + (this branch is used by rj/bisect-terms-fixup; uses ad/bisect-cleanup.)
259
260 The use of 'good/bad' in "git bisect" made it confusing to use when
261 hunting for a state change that is not a regression (e.g. bugfix).
@@ -275,20 +324,20 @@ of the repositories listed at
324
325
326 * mh/numparse (2015-03-19) 14 commits
278 - - diff_opt_parse(): use convert_i() when handling --abbrev=<num>
279 - - diff_opt_parse(): use convert_i() when handling "-l<num>"
280 - - opt_arg(): simplify pointer handling
281 - - opt_arg(): report errors parsing option values
282 - - opt_arg(): use convert_i() in implementation
283 - - opt_arg(): val is always non-NULL
284 - - builtin_diff(): detect errors when parsing --unified argument
285 - - handle_revision_opt(): use convert_ui() when handling "--abbrev="
286 - - strtoul_ui(), strtol_i(): remove functions
287 - - handle_revision_opt(): use convert_i() when handling "-<digit>"
288 - - handle_revision_opt(): use skip_prefix() in many places
289 - - write_subdirectory(): use convert_ui() for parsing mode
290 - - cacheinfo_callback(): use convert_ui() when handling "--cacheinfo"
291 - - numparse: new module for parsing integral numbers
327 + . diff_opt_parse(): use convert_i() when handling --abbrev=<num>
328 + . diff_opt_parse(): use convert_i() when handling "-l<num>"
329 + . opt_arg(): simplify pointer handling
330 + . opt_arg(): report errors parsing option values
331 + . opt_arg(): use convert_i() in implementation
332 + . opt_arg(): val is always non-NULL
333 + . builtin_diff(): detect errors when parsing --unified argument
334 + . handle_revision_opt(): use convert_ui() when handling "--abbrev="
335 + . strtoul_ui(), strtol_i(): remove functions
336 + . handle_revision_opt(): use convert_i() when handling "-<digit>"
337 + . handle_revision_opt(): use skip_prefix() in many places
338 + . write_subdirectory(): use convert_ui() for parsing mode
339 + . cacheinfo_callback(): use convert_ui() when handling "--cacheinfo"
340 + . numparse: new module for parsing integral numbers
341
342 Many codepaths use unchecked use of strtol() and friends (or even
343 worse, atoi()). Introduce a set of wrappers that try to be more
@@ -298,19 +347,6 @@ of the repositories listed at
347 ($gmane/268058).
348
349
301 -* jc/a-lone-dash-stands-for-previous-branch (2015-03-16) 1 commit
302 - - "-" and "@{-1}" on various programs
303 -
304 - Lose special case code to make a lone dash "-" mean the previous
305 - branch aka "@{-1}" from a handful subcommands, and instead support
306 - the notation throughout the system by reimplementing it at the
307 - revisions layer.
308 -
309 - Needs tests, documentation updates, etc. Also does only a half-way
310 - job dealing with range notation, which needs to be fixed before the
311 - series goes anywhere.
312 -
313 -
350 * nd/list-files (2015-02-09) 21 commits
351 - t3080: tests for git-list-files
352 - list-files: -M aka diff-cached
@@ -343,13 +379,6 @@ of the repositories listed at
379 Waiting for a further polished reroll ($gmane/265534).
380
381
346 -* nd/pathspec-strip-fix (2015-04-18) 1 commit
347 - - pathspec: adjust prefixlen after striping trailing slash
348 -
349 - Does not quite fix ($gmane/267614).
350 - Will discard.
351 -
352 -
382 * jc/diff-b-m (2015-02-23) 5 commits
383 . WIPWIP
384 . WIP: diff-b-m
@@ -413,6 +442,68 @@ of the repositories listed at
442 --------------------------------------------------
443 [Cooking]
444
445 +* da/subtree-date-confusion (2015-07-23) 1 commit
446 + (merged to 'next' on 2015-07-29 at 01016b1)
447 + + contrib/subtree: ignore log.date configuration
448 +
449 + "git subtree" (in contrib/) depended on "git log" output to be
450 + stable, which was a no-no. Apply a workaround to force a
451 + particular date format.
452 +
453 + Will merge to 'master'.
454 +
455 +
456 +* db/send-pack-user-signingkey (2015-07-21) 1 commit
457 + (merged to 'next' on 2015-07-29 at b0d62e9)
458 + + builtin/send-pack.c: respect user.signingkey
459 +
460 + The low-level "git send-pack" did not honor 'user.signingkey'
461 + configuration variable when sending a signed-push.
462 +
463 + Will merge to 'master'.
464 +
465 +
466 +* jk/refspec-parse-wildcard (2015-07-27) 2 commits
467 + (merged to 'next' on 2015-07-29 at eb48d2f)
468 + + refs: loosen restriction on wildcard "*" refspecs
469 + + refs: cleanup comments regarding check_refname_component()
470 +
471 + Allow an asterisk as a substring (as opposed to the entirety) of
472 + a path component for both side of a refspec, e.g.
473 + "refs/heads/o*:refs/remotes/heads/i*".
474 +
475 + Will merge to 'master'.
476 +
477 +
478 +* jx/do-not-crash-receive-pack-wo-head (2015-07-22) 1 commit
479 + (merged to 'next' on 2015-07-29 at 227d0d9)
480 + + receive-pack: crash when checking with non-exist HEAD
481 +
482 + Will merge to 'master'.
483 +
484 +
485 +* kd/pull-rebase-autostash (2015-07-22) 1 commit
486 + - pull: allow dirty tree when rebase.autostash enabled
487 + (this branch uses pt/pull-builtin; is tangled with pt/am-builtin and pt/am-builtin-fix.)
488 +
489 + Teach "git pull --rebase" to pay attention to rebase.autostash
490 + configuration.
491 +
492 + Will hold until the dependant topics graduates and then rebase to
493 + 'master' after that.
494 +
495 +
496 +* es/doc-clean-outdated-tools (2015-07-28) 5 commits
497 + (merged to 'next' on 2015-07-29 at 6d80251)
498 + + Documentation/git-tools: retire manually-maintained list
499 + + Documentation/git-tools: drop references to defunct tools
500 + + Documentation/git-tools: fix item text formatting
501 + + Documentation/git-tools: improve discoverability of Git wiki
502 + + Documentation/git: drop outdated Cogito reference
503 +
504 + Will merge to 'master'.
505 +
506 +
507 * zb/userdiff-fountain (2015-07-23) 1 commit
508 (merged to 'next' on 2015-07-23 at e177995)
509 + userdiff: add support for Fountain documents
@@ -458,7 +549,7 @@ of the repositories listed at
549 + Documentation/config: fix stale "git prune --worktree" reference
550 + Documentation/git-worktree: fix incorrect reference to file "locked"
551 + Documentation/git-worktree: consistently use term "linked working tree"
461 - (this branch is used by es/worktree-add-cleanup.)
552 + (this branch is used by dt/notes-multiple and es/worktree-add-cleanup.)
553
554 Will merge to 'master'.
555
@@ -471,8 +562,9 @@ of the repositories listed at
562 Will merge to 'master'.
563
564
474 -* es/worktree-add-cleanup (2015-07-24) 24 commits
475 - - Documentation/config: mention "now" and "never" for 'expire' settings
565 +* es/worktree-add-cleanup (2015-07-28) 24 commits
566 + (merged to 'next' on 2015-07-29 at d2dd004)
567 + + Documentation/config: mention "now" and "never" for 'expire' settings
568 (merged to 'next' on 2015-07-27 at 25f086d)
569 + Documentation/git-worktree: fix broken 'linkgit' invocation
570 (merged to 'next' on 2015-07-23 at ecb1e1a)
@@ -498,13 +590,13 @@ of the repositories listed at
590 + checkout: improve die_if_checked_out() robustness
591 + checkout: name check_linked_checkouts() more meaningfully
592 + checkout: avoid resolving HEAD unnecessarily
501 - (this branch uses es/worktree-add.)
593 + (this branch is used by dt/notes-multiple; uses es/worktree-add.)
594
595 Remove the "new-worktree-mode" hack in "checkout" that was added in
596 nd/multiple-work-trees topic by updating the implementation of new
597 "worktree add".
598
507 - $gmane/274647
599 + Will merge to 'master'.
600
601
602 * ib/scripted-parse-opt-better-hint-string (2015-07-15) 1 commit
@@ -596,14 +688,15 @@ of the repositories listed at
688 + ref-filter: implement '--points-at' option
689 + tag: libify parse_opt_points_at()
690 + t6302: for-each-ref tests for ref-filter APIs
599 - (this branch uses kn/for-each-ref.)
691 + (this branch uses kn/for-each-ref; is tangled with mm/for-each-ref-fixup.)
692
693 Port features over from tag -l and branch -l to for-each-ref
694 so that eventually the unified implementation can be used to
695 reimplement tag -l and branch -l, shared across all three, in
696 a follow-up series or two.
697
606 - Will merge to 'master'.
698 + Squash mm/for-each-ref-fixup into "move code from 'for-each-ref',
699 + and then keep in 'next'.
700
701
702 * pt/am-builtin (2015-07-20) 46 commits
@@ -654,11 +747,11 @@ of the repositories listed at
747 + wrapper: implement xfopen()
748 + wrapper: implement xopen()
749 + Merge branch 'pt/pull-builtin' into pt/am-builtin
657 - (this branch uses pt/pull-builtin; is tangled with kd/pull-rebase-autostash.)
750 + (this branch is used by pt/am-builtin-fix; uses pt/pull-builtin; is tangled with kd/pull-rebase-autostash.)
751
752 Rewrite "am" in "C".
753
661 - Still buggy around "am" and then "am -3" workflow.
754 + Almost there.
755
756
757 * ad/bisect-cleanup (2015-06-29) 6 commits
@@ -669,11 +762,11 @@ of the repositories listed at
762 + Documentation/bisect: revise overall content
763 + Documentation/bisect: move getting help section to the end
764 + bisect: correction of typo
672 - (this branch is used by ad/bisect-terms.)
765 + (this branch is used by ad/bisect-terms and rj/bisect-terms-fixup.)
766
767 Code and documentation clean-up to "git bisect".
768
676 - Will merge to 'master'.
769 + Will squash rj/bisect-terms-fixup in and rebuild 'next'.
770
771
772 * mh/fast-import-get-mark (2015-07-01) 1 commit
@@ -699,6 +792,7 @@ of the repositories listed at
792 + refs: new public ref function: safe_create_reflog
793 + refs: break out check for reflog autocreation
794 + refs.c: add err arguments to reflog functions
795 + (this branch is used by dt/refs-pseudo.)
796
797 In preparation for allowing different "backends" to store the refs
798 in a way different from the traditional "one ref per file in $GIT_DIR
@@ -733,7 +827,7 @@ of the repositories listed at
827 Will merge to 'master'.
828
829
736 -* jc/rerere (2015-07-24) 21 commits
830 +* jc/rerere (2015-07-30) 21 commits
831 - rerere: un-nest merge() further
832 - rerere: use "struct rerere_id" instead of "char *" for conflict ID
833 - rerere: call conflict-ids IDs
@@ -760,9 +854,11 @@ of the repositories listed at
854 Code clean-up and minor fixes (so far).
855
856
763 -* jc/rerere-multi (2015-07-24) 6 commits
764 - . t4200: rerere a merge with two identical conflicts
857 +* jc/rerere-multi (2015-07-31) 8 commits
858 . WIP
859 + . t4200: rerere a merge with two identical conflicts
860 + . fixup! rerere: allow multiple variants to exist
861 + . rerere: allow multiple variants to exist
862 - rerere: delay the recording of preimage
863 - rerere: handle leftover rr-cache/$ID directory and postimage files
864 - rerere: scan $GIT_DIR/rr-cache/$ID when instantiating a rerere_id
@@ -873,7 +969,7 @@ of the repositories listed at
969 + for-each-ref: rename 'refinfo' to 'ref_array_item'
970 + for-each-ref: clean up code
971 + for-each-ref: extract helper functions out of grab_single_ref()
876 - (this branch is used by kn/for-each-tag-branch.)
972 + (this branch is used by kn/for-each-tag-branch and mm/for-each-ref-fixup.)
973
974 GSoC project to rebuild ref listing by branch and tag based on the
975 for-each-ref machinery. This is its first part.
@@ -976,7 +1072,7 @@ of the repositories listed at
1072 + argv-array: implement argv_array_pushv()
1073 + parse-options-cb: implement parse_opt_passthru_argv()
1074 + parse-options-cb: implement parse_opt_passthru()
979 - (this branch is used by kd/pull-rebase-autostash and pt/am-builtin.)
1075 + (this branch is used by kd/pull-rebase-autostash, pt/am-builtin and pt/am-builtin-fix.)
1076
1077 Reimplement 'git pull' in C.
1078
@@ -1020,18 +1116,6 @@ of the repositories listed at
1116 Will merge to 'master'.
1117
1118
1023 -* jc/push-tags-also (2015-05-29) 1 commit
1024 - - push --tags: push tags *in addition to* other stuff
1025 -
1026 - "git fetch --tags" learned to fetch tags in addition to other stuff
1027 - a few years ago, but "git push --tags" didn't. Now it does.
1028 -
1029 - A change to push out more than before always invites "what if the
1030 - user makes a mistake" worries.
1031 -
1032 - Will discard.
1033 -
1034 -
1119 * jc/commit-slab (2015-05-22) 1 commit
1120 (merged to 'next' on 2015-07-15 at 4c83475)
1121 + commit-slab: introduce slabname##_peek() function
@@ -1082,3 +1166,35 @@ of the repositories listed at
1166
1167 A fresh restart will not be rejected, but ejected from my tree for
1168 now.
1169 +
1170 +
1171 +* jc/a-lone-dash-stands-for-previous-branch (2015-03-16) 1 commit
1172 + - "-" and "@{-1}" on various programs
1173 +
1174 + Lose special case code to make a lone dash "-" mean the previous
1175 + branch aka "@{-1}" from a handful subcommands, and instead support
1176 + the notation throughout the system by reimplementing it at the
1177 + revisions layer.
1178 +
1179 + Needs tests, documentation updates, etc. Also does only a half-way
1180 + job dealing with range notation, which needs to be fixed before the
1181 + series goes anywhere.
1182 +
1183 +
1184 +* jc/push-tags-also (2015-05-29) 1 commit
1185 + - push --tags: push tags *in addition to* other stuff
1186 +
1187 + "git fetch --tags" learned to fetch tags in addition to other stuff
1188 + a few years ago, but "git push --tags" didn't. Now it does.
1189 +
1190 + A change to push out more than before always invites "what if the
1191 + user makes a mistake" worries.
1192 +
1193 + Will discard.
1194 +
1195 +
1196 +* nd/pathspec-strip-fix (2015-04-18) 1 commit
1197 + - pathspec: adjust prefixlen after striping trailing slash
1198 +
1199 + Does not quite fix ($gmane/267614).
1200 + Will discard.