What's cooking (2015/06 #03)
Junio C Hamano committed
Jun 10, 2015 at 16:32 UTC
06b685c780d5ce2d14bc7204e3025260cf247a95
1 file changed
+265
-130
whats-cooking.txt
+265
-130
@@ -1,158 +1,252 @@
1
To: git@vger.kernel.org
2
Bcc: lwn@lwn.net
3
-Subject: What's cooking in git.git (Jun 2015, #02; Fri, 5)
3
+Subject: What's cooking in git.git (Jun 2015, #03; Wed, 10)
4
X-master-at: 7974889a053574e449b55ca543a486e38e74864f
5
X-next-at: 1a18470cb8c6fbcf40b535cf669aa165844706d5
6
7
-What's cooking in git.git (Jun 2015, #02; Fri, 5)
7
+What's cooking in git.git (Jun 2015, #03; Wed, 10)
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
-A handful of topics that graduated to 'master' a few weeks ago are
15
-now in 'maint', the tip of which has been tagged as v2.4.3.
14
+Somehow we are getting quite a many new topics in the past few
15
+weeks. All the new contributors we acquired recently, including but
16
+not limited to the GSoC and Matthieu's students, are making good
17
+progress, throwing patches and responding to reviews in a reasonable
18
+way, proving themselves to be real assets to the community.
19
17
-On the 'master' front, another huge batch of "struct object_id"
18
-thing is now in. So is Peff's 'master@{push}' series.
20
+Which, I am very happy about, even though I am a bit behind catching
21
+up with them. "Let's skip commute to gain an extra productive hour"
22
+I tried yesterday did not help enough X-<. I am sure I've either
23
+missed or postponed more than a few topics. I'll try to get to them
24
+but some of them may fall in the cracks; please help by reviewing on
25
+uncommented patches.
26
27
You can find the changes described here in the integration branches
28
of the repositories listed at
29
30
http://git-blame.blogspot.com/p/git-public-repositories.html
31
25
---------------------------------------------------
26
-[Graduated to "master"]
27
-
28
-* bc/object-id (2015-05-25) 56 commits
29
- (merged to 'next' on 2015-05-26 at 8d9f645)
30
- + struct ref_lock: convert old_sha1 member to object_id
31
- + warn_if_dangling_symref(): convert local variable "junk" to object_id
32
- + each_ref_fn_adapter(): remove adapter
33
- + rev_list_insert_ref(): remove unneeded arguments
34
- + rev_list_insert_ref_oid(): new function, taking an object_oid
35
- + mark_complete(): remove unneeded arguments
36
- + mark_complete_oid(): new function, taking an object_oid
37
- + clear_marks(): rewrite to take an object_id argument
38
- + mark_complete(): rewrite to take an object_id argument
39
- + send_ref(): convert local variable "peeled" to object_id
40
- + upload-pack: rewrite functions to take object_id arguments
41
- + find_symref(): convert local variable "unused" to object_id
42
- + find_symref(): rewrite to take an object_id argument
43
- + write_one_ref(): rewrite to take an object_id argument
44
- + write_refs_to_temp_dir(): convert local variable sha1 to object_id
45
- + submodule: rewrite to take an object_id argument
46
- + shallow: rewrite functions to take object_id arguments
47
- + handle_one_ref(): rewrite to take an object_id argument
48
- + add_info_ref(): rewrite to take an object_id argument
49
- + handle_one_reflog(): rewrite to take an object_id argument
50
- + register_replace_ref(): rewrite to take an object_id argument
51
- + remote: rewrite functions to take object_id arguments
52
- + add_one_ref(): rewrite to take an object_id argument
53
- + string_list_add_one_ref(): rewrite to take an object_id argument
54
- + add_ref_decoration(): convert local variable original_sha1 to object_id
55
- + add_ref_decoration(): rewrite to take an object_id argument
56
- + show_head_ref(): convert local variable "unused" to object_id
57
- + http-backend: rewrite to take an object_id argument
58
- + append_similar_ref(): rewrite to take an object_id argument
59
- + builtin/show-ref: rewrite to take an object_id argument
60
- + show_ref(): convert local variable peeled to object_id
61
- + builtin/show-ref: rewrite to use object_id
62
- + fsck: change functions to use object_id
63
- + cmd_show_branch(): fix error message
64
- + builtin/show-branch: rewrite functions to work with object_id
65
- + append_one_rev(): rewrite to work with object_id
66
- + builtin/show-branch: rewrite functions to take object_id arguments
67
- + append_matching_ref(): rewrite to take an object_id argument
68
- + show_reference(): rewrite to take an object_id argument
69
- + builtin/remote: rewrite functions to take object_id arguments
70
- + add_branch_for_removal(): don't set "util" field of string_list entries
71
- + add_branch_for_removal(): rewrite to take an object_id argument
72
- + builtin/reflog: rewrite ref functions to take an object_id argument
73
- + show_ref_cb(): rewrite to take an object_id argument
74
- + builtin/pack-objects: rewrite to take an object_id argument
75
- + name_ref(): rewrite to take an object_id argument
76
- + grab_single_ref(): rewrite to take an object_id argument
77
- + builtin/fetch: rewrite to take an object_id argument
78
- + get_name(): rewrite to take an object_id argument
79
- + add_pending_uninteresting_ref(): rewrite to take an object_id argument
80
- + append_ref(): rewrite to take an object_id argument
81
- + register_ref(): rewrite to take an object_id argument
82
- + handle_one_ref(): rewrite to take an object_id argument
83
- + builtin/rev-parse: rewrite to take an object_id argument
84
- + each_ref_fn: change to take an object_id parameter
85
- + refs: convert struct ref_entry to use struct object_id
86
-
87
- for_each_ref() callback functions were taught to name the objects
88
- not with "unsigned char sha1[20]" but with "struct object_id".
89
-
90
-
91
-* jk/at-push-sha1 (2015-05-22) 16 commits
92
- (merged to 'next' on 2015-05-26 at d9d342f)
93
- + for-each-ref: accept "%(push)" format
94
- + for-each-ref: use skip_prefix instead of starts_with
95
- + sha1_name: implement @{push} shorthand
96
- + sha1_name: refactor interpret_upstream_mark
97
- + sha1_name: refactor upstream_mark
98
- + remote.c: add branch_get_push
99
- + remote.c: return upstream name from stat_tracking_info
100
- + remote.c: untangle error logic in branch_get_upstream
101
- + remote.c: report specific errors from branch_get_upstream
102
- + remote.c: introduce branch_get_upstream helper
103
- + remote.c: hoist read_config into remote_get_1
104
- + remote.c: provide per-branch pushremote name
105
- + remote.c: hoist branch.*.remote lookup out of remote_get_1
106
- + remote.c: drop "remote" pointer from "struct branch"
107
- + remote.c: refactor setup of branch->merge list
108
- + remote.c: drop default_remote_name variable
109
-
110
- Introduce <branch>@{push} short-hand to denote the remote-tracking
111
- branch that tracks the branch at the remote the <branch> would be
112
- pushed to.
113
-
114
-
115
-* ld/p4-editor-multi-words (2015-05-26) 3 commits
116
- (merged to 'next' on 2015-05-28 at a368a47)
117
- + git-p4: tests: use test-chmtime in place of touch
118
- + git-p4: fix handling of multi-word P4EDITOR
119
- + git-p4: add failing test for P4EDITOR handling
120
-
121
- Unlike "$EDITOR" and "$GIT_EDITOR" that can hold the path to the
122
- command and initial options (e.g. "/path/to/emacs -nw"), 'git p4'
123
- did not let the shell interpolate the contents of the environment
124
- variable that name the editor "$P4EDITOR" (and "$EDITOR", too).
125
- Make it in line with the rest of Git, as well as with Perforce.
126
-
32
--------------------------------------------------
33
[New Topics]
34
130
-* jc/ll-merge-expose-path (2015-06-04) 1 commit
131
- - ll-merge: pass the original path to external drivers
35
+* af/tcsh-completion-noclobber (2015-06-09) 1 commit
36
+ - git-completion.tcsh: fix redirect with noclobber
37
133
- Traditionally, external low-level 3-way merge drivers are expected
134
- to produce their results based solely on the contents of the three
135
- variants given in temporary files named by %O, %A and %B on their
136
- command line. Additionally allow them to look at the final path
137
- (given by %P).
38
+ The tcsh completion writes a bash scriptlet but that would have
39
+ failed for users with noclobber set.
40
41
+ Will merge to 'next'.
42
140
-* jk/log-missing-default-HEAD (2015-06-03) 1 commit
141
- - log: diagnose empty HEAD more clearly
43
143
- "git init empty && git -C empty log" said "bad default revision 'HEAD'",
144
- which was found to be a bit confusing to new users.
44
+* es/utf8-stupid-compiler-workaround (2015-06-05) 1 commit
45
+ - utf8: NO_ICONV: silence uninitialized variable warning
46
47
+ A compilation workaround.
48
147
-* nd/slim-index-pack-memory-usage (2015-06-04) 1 commit
148
- (merged to 'next' on 2015-06-04 at 328fd50)
149
- + index-pack: fix truncation of off_t in comparison
49
+ Will merge to 'next'.
50
151
- An earlier optimization broke index-pack for a large object
152
- transfer; this fixes it before the breakage hits any released
153
- version.
51
155
- Will merge to 'master'.
52
+* fk/doc-format-patch-vn (2015-06-10) 1 commit
53
+ - doc: format-patch: fix typo
54
+
55
+ Docfix.
56
+
57
+ Will merge to 'next'.
58
+
59
+
60
+* gp/status-rebase-i-info (2015-06-09) 5 commits
61
+ - SQUASH??? fix misindent
62
+ - status: add new tests for status during rebase -i
63
+ - status: give more information during rebase -i
64
+ - status: differentiate interactive from non-interactive rebases
65
+ - status: factor two rebase-related messages together
66
+
67
+ Teach "git status" to show a more detailed information regarding
68
+ the "rebase -i" session in progress.
69
+
70
+ Expecting a reroll.
71
+
72
+
73
+* jc/prompt-document-ps1-state-separator (2015-06-10) 1 commit
74
+ - git-prompt.sh: document GIT_PS1_STATESEPARATOR
75
+
76
+ Docfix.
77
+
78
+ Will merge to 'next'.
79
+
80
+
81
+* jk/index-pack-reduce-recheck (2015-06-09) 1 commit
82
+ - index-pack: avoid excessive re-reading of pack directory
83
+
84
+ Disable "have we lost a race with competing repack?" check while
85
+ receiving a huge object transfer that runs index-pack.
86
+
87
+ Will merge to 'next'.
88
+
89
+
90
+* js/sleep-without-select (2015-06-05) 4 commits
91
+ - lockfile: wait using sleep_millisec() instead of select()
92
+ - lockfile: convert retry timeout computations to millisecond
93
+ - help.c: wrap wait-only poll() invocation in sleep_millisec()
94
+ - lockfile: replace random() by rand()
95
+
96
+ Portability fix.
97
+
98
+ Will merge to 'next'.
99
+
100
+
101
+* ld/p4-changes-block-size (2015-06-10) 4 commits
102
+ - git-p4: fixing --changes-block-size handling
103
+ - git-p4: add tests for non-numeric revision range
104
+ - git-p4: test with limited p4 server results
105
+ - git-p4: additional testing of --changes-block-size
106
+
107
+ More Perforce row number limit workaround for "git p4".
108
+
109
+ Will merge to 'next'.
110
+
111
+
112
+* mh/fsck-reflog-entries (2015-06-08) 2 commits
113
+ - fsck: report errors if reflog entries point at invalid objects
114
+ - fsck_handle_reflog_sha1(): new function
115
+
116
+ "git fsck" used to ignore missing or invalid objects recorded in reflog.
117
+
118
+ Will merge to 'next'.
119
+
120
+
121
+* mk/utf8-no-iconv-warn (2015-06-08) 1 commit
122
+ - utf8.c: print warning about disabled iconv
123
+
124
+ Warn when a reencoding is requested in a build without iconv
125
+ support, as the end user is likely to get an unexpected result. I
126
+ think the same level of safety should be added to a build with
127
+ iconv support when the specified encoding is not available, but the
128
+ patch does not go there.
129
+
130
+ Expecting a reroll.
131
+
132
+
133
+* mr/rebase-i-customize-insn-sheet (2015-06-08) 1 commit
134
+ - git-rebase--interactive.sh: add config option for custom instruction format
135
+
136
+ Breaks tests.
137
+
138
+ Expecting a reroll.
139
+
140
+
141
+* nd/untracked-cache (2015-06-08) 1 commit
142
+ - read-cache: fix untracked cache invalidation when split-index is used
143
+
144
+ Hotfix for a topic already in 'master'.
145
+
146
+ Will merge to 'next'.
147
+
148
+
149
+* pt/am-abort-fix (2015-06-08) 6 commits
150
+ - am --abort: keep unrelated commits on unborn branch
151
+ - am --abort: support aborting to unborn branch
152
+ - am --abort: revert changes introduced by failed 3way merge
153
+ - am --skip: support skipping while on unborn branch
154
+ - am -3: support 3way merge on unborn branch
155
+ - am --skip: revert changes introduced by failed 3way merge
156
+
157
+ Various fixes around "git am" that applies a patch to a history
158
+ that is not there yet.
159
+
160
+ Will merge to 'next'.
161
+
162
+
163
+* pt/am-foreign (2015-06-08) 6 commits
164
+ - SQUASH??? do not cat a single file into a pipe
165
+ - am: teach mercurial patch parser how to read from stdin
166
+ - am: use gmtime() to parse mercurial patch date
167
+ - t4150: test applying StGit series
168
+ - am: teach StGit patch parser how to read from stdin
169
+ - t4150: test applying StGit patch
170
+
171
+ Various enhancements around "git am" reading patches generated by
172
+ foreign SCM.
173
+
174
+ Expecting a reroll.
175
+
176
+
177
+* pt/pull-builtin (2015-06-09) 20 commits
178
+ . SQUASH??? adjust to new world order after 9e3751d4 (remote.c: drop "remote" pointer from "struct branch", 2015-05-21)
179
+ . pull: remove redirection to git-pull.sh
180
+ . pull --rebase: error on no merge candidate cases
181
+ . pull --rebase: exit early when the working directory is dirty
182
+ . pull: configure --rebase via branch.<name>.rebase or pull.rebase
183
+ . pull: teach git pull about --rebase
184
+ . pull: set reflog message
185
+ . pull: implement pulling into an unborn branch
186
+ . pull: fast-forward working tree if head is updated
187
+ . pull: check if in unresolved merge state
188
+ - pull: support pull.ff config
189
+ - pull: error on no merge candidates
190
+ - pull: pass git-fetch's options to git-fetch
191
+ - pull: pass git-merge's options to git-merge
192
+ - pull: pass verbosity, --progress flags to fetch and merge
193
+ - pull: implement fetch + merge
194
+ - pull: implement skeletal builtin pull
195
+ - argv-array: implement argv_array_pushv()
196
+ - parse-options-cb: implement parse_opt_pass_argv_array()
197
+ - parse-options-cb: implement parse_opt_pass_strbuf()
198
+
199
+ Expecting a reroll.
200
+
201
+
202
+* rl/send-email-aliases (2015-06-08) 5 commits
203
+ - send-email: refactor address list process
204
+ - send-email: allow multiple emails using --cc, --to and --bcc
205
+ - t9001-send-email: refactor header variable fields replacement
206
+ - send-email: allow aliases in patch header and command script outputs
207
+ - t9001-send-email: move script creation in a setup test
208
+
209
+ "git send-email" now performs alias-expansion on names that are
210
+ given via --cccmd, etc.
211
+
212
+ Expecting a reroll.
213
+
214
+
215
+* sg/commit-cleanup-scissors (2015-06-09) 1 commit
216
+ - commit: cope with scissors lines in commit message
217
+
218
+ "git commit --cleanup=scissors" was not careful enough to protect
219
+ against getting fooled by a line that looked like scissors.
220
+
221
+ Will merge to 'next'.
222
+
223
+
224
+* sg/completion-commit-cleanup (2015-06-08) 1 commit
225
+ - completion: teach 'scissors' mode to 'git commit --cleanup='
226
+
227
+ Will merge to 'next'.
228
+
229
+
230
+* wp/sha1-name-negative-match (2015-06-08) 2 commits
231
+ - sha1_name.c: introduce '^{/!-<negative pattern>}' notation
232
+ - test for '!' handling in rev-parse's named commits
233
+
234
+ Introduce "branch^{/!-<pattern>}" notation to name a commit
235
+ reachable from branch that does not match the given pattern.
236
+
237
+ Expecting a reroll.
238
+
239
+
240
+* bc/object-id (2015-06-10) 7 commits
241
+ - ref_newer: convert to use struct object_id
242
+ - parse_fetch: convert to use struct object_id
243
+ - add_sought_entry_mem: convert to struct object_id
244
+ - Add a utility function to make parsing hex values easier.
245
+ - Convert struct ref to use object_id.
246
+ - sha1_file: introduce has_object_file helper.
247
+ - refs: convert some internal functions to use object_id
248
+
249
+ (incomplete)
250
251
--------------------------------------------------
252
[Stalled]
@@ -361,6 +455,38 @@ of the repositories listed at
455
--------------------------------------------------
456
[Cooking]
457
458
+* jc/ll-merge-expose-path (2015-06-04) 1 commit
459
+ - ll-merge: pass the original path to external drivers
460
+
461
+ Traditionally, external low-level 3-way merge drivers are expected
462
+ to produce their results based solely on the contents of the three
463
+ variants given in temporary files named by %O, %A and %B on their
464
+ command line. Additionally allow them to look at the final path
465
+ (given by %P).
466
+
467
+ Will merge to 'next'.
468
+
469
+
470
+* jk/log-missing-default-HEAD (2015-06-03) 1 commit
471
+ - log: diagnose empty HEAD more clearly
472
+
473
+ "git init empty && git -C empty log" said "bad default revision 'HEAD'",
474
+ which was found to be a bit confusing to new users.
475
+
476
+ What's the status of this one?
477
+
478
+
479
+* nd/slim-index-pack-memory-usage (2015-06-04) 1 commit
480
+ (merged to 'next' on 2015-06-04 at 328fd50)
481
+ + index-pack: fix truncation of off_t in comparison
482
+
483
+ An earlier optimization broke index-pack for a large object
484
+ transfer; this fixes it before the breakage hits any released
485
+ version.
486
+
487
+ Will merge to 'master'.
488
+
489
+
490
* gr/rebase-i-drop-warn (2015-06-01) 2 commits
491
- git rebase -i: warn about removed commits
492
- git-rebase -i: add command "drop" to remove a commit
@@ -379,7 +505,9 @@ of the repositories listed at
505
Avoid one extra iteration and strbuf_grow() of 8kB in
506
strbuf_read().
507
382
- Looked reasonable; perhaps a log message clarification is coming?
508
+ Looked reasonable; perhaps a log message clarification is needed.
509
+
510
+ Expecting a reroll.
511
512
513
* jk/squelch-missing-link-warning-for-unreachable (2015-06-01) 3 commits
@@ -395,7 +523,7 @@ of the repositories listed at
523
Will merge to 'master'.
524
525
398
-* mh/reporting-broken-refs-from-for-each-ref (2015-06-03) 4 commits
526
+* mh/reporting-broken-refs-from-for-each-ref (2015-06-08) 4 commits
527
- read_loose_refs(): treat NULL_SHA1 loose references as broken
528
- read_loose_refs(): simplify function logic
529
- for-each-ref: report broken references correctly
@@ -472,12 +600,15 @@ of the repositories listed at
600
"git format-patch --ignore-if-upstream A..B" did not like to be fed
601
tags as boundary commits.
602
603
+ Will merge to 'next'.
604
+
605
606
* mg/index-read-error-messages (2015-06-01) 2 commits
607
- messages: uniform error messages for index write
608
- show-index: uniform error messages for index read
609
610
The tip was RFC.
611
+ Expecting a reroll.
612
613
614
* pt/pull-optparse (2015-06-02) 3 commits
@@ -508,6 +639,8 @@ of the repositories listed at
639
640
"git am" learned am.threeWay configuration variable.
641
642
+ Will merge to 'next'.
643
+
644
645
* sb/pack-protocol-mention-smart-http (2015-06-02) 1 commit
646
(merged to 'next' on 2015-06-04 at 8041cf6)
@@ -527,6 +660,8 @@ of the repositories listed at
660
The gitmodules API accessed from the C code learned to cache stuff
661
lazily.
662
663
+ What's the doneness of this one?
664
+
665
666
* jc/diff-ws-error-highlight (2015-05-26) 4 commits
667
(merged to 'next' on 2015-06-01 at 6046560)
@@ -703,7 +838,7 @@ of the repositories listed at
838
Still an early WIP
839
840
706
-* ee/clean-remove-dirs (2015-04-26) 5 commits
841
+* ee/clean-remove-dirs (2015-06-09) 5 commits
842
- clean: improve performance when removing lots of directories
843
- p7300: add performance tests for clean
844
- t7300: add tests to document behavior of clean and nested git
@@ -714,7 +849,7 @@ of the repositories listed at
849
be touched?" check "git clean" does by checking if it has .git/HEAD
850
using the submodule-related code with a more optimized check.
851
717
- Waiting for a reroll.
852
+ Haven't seen reviews on this updated round, and I haven't read it myself.
853
854
855
* jc/merge-drop-old-syntax (2015-04-29) 1 commit