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.