What's cooking (2015/06 #07)
Junio C Hamano committed
Jun 29, 2015 at 14:24 UTC
42d3d57628ce9d9fe280ca23ba6fd0380f22bd60
1 file changed
+132
-250
whats-cooking.txt
+132
-250
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
Bcc: lwn@lwn.net
3
-Subject: What's cooking in git.git (Jun 2015, #06; Wed, 24)
4
-X-master-at: df97e5dfeaea093e50afc15e44a23dfd3fa02502
5
-X-next-at: 3f8b1d03318d3e5eff389ac0d3568f45053ae1fd
3
+Subject: What's cooking in git.git (Jun 2015, #07; Mon, 29)
4
+X-master-at: 912bd497e93f0235a5999a77f8d54f5ff80a3a03
5
+X-next-at: d595659997efd86e238e50f97b9c8c811b229c4b
6
7
-What's cooking in git.git (Jun 2015, #06; Wed, 24)
7
+What's cooking in git.git (Jun 2015, #07; Mon, 29)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking. Commits prefixed with
@@ -16,10 +16,11 @@ been excluded from 'pu'; most notably, I think the remainder of
16
bc/object-id needs to wait until the for-each-ref topic from Karthik
17
settles and then rebased on it, or something.
18
19
-We will be in the pre-release freeze soonish, and the next cycle
20
-would reopen mid next month. In the meantime, let's shift the focus
21
-on making sure that what has already been merged to 'master' are
22
-good (i.e. regression hunting and fixes).
19
+A couple of "hotfix" topics that just went into 'next' should be
20
+part of -rc1 early next month, but other than that there aren't
21
+anything ultra-urgent cooking right now. Read those "Will merge to
22
+'master'" as if they were suffixed with "soon after the upcoming
23
+release".
24
25
You can find the changes described here in the integration branches
26
of the repositories listed at
@@ -29,273 +30,107 @@ of the repositories listed at
30
--------------------------------------------------
31
[Graduated to "master"]
32
32
-* af/tcsh-completion-noclobber (2015-06-09) 1 commit
33
- (merged to 'next' on 2015-06-16 at 621f205)
34
- + git-completion.tcsh: fix redirect with noclobber
35
-
36
- The tcsh completion writes a bash scriptlet but that would have
37
- failed for users with noclobber set.
38
-
39
-
40
-* es/configure-getdelim (2015-06-03) 2 commits
41
- (merged to 'next' on 2015-06-11 at cdead14)
42
- + configure: add getdelim() check
43
- + config.mak.uname: Darwin: define HAVE_GETDELIM for modern OS X releases
44
-
45
- Auto-detect availability of getdelim() that helps optimized version
46
- of strbuf_getwholeline().
47
-
48
-
49
-* es/osx-header-pollutes-mask-macro (2015-06-03) 2 commits
50
- (merged to 'next' on 2015-06-11 at cd8c39e)
51
- + ewah: use less generic macro name
52
- + ewah/bitmap: silence warning about MASK macro redefinition
53
-
54
-
55
-* es/send-email-sendmail-alias (2015-06-01) 10 commits
56
- (merged to 'next' on 2015-06-11 at b5e310e)
57
- + send-email: further warn about unsupported sendmail aliases features
58
- + t9001: add sendmail aliases line continuation tests
59
- + t9001: refactor sendmail aliases test infrastructure
60
- + send-email: implement sendmail aliases line continuation support
61
- + send-email: simplify sendmail aliases comment and blank line recognizer
62
- + send-email: refactor sendmail aliases parser
63
- + send-email: fix style: cuddle 'elsif' and 'else' with closing brace
64
- + send-email: drop noise comments which merely repeat what code says
65
- + send-email: visually distinguish sendmail aliases parser warnings
66
- + send-email: further document missing sendmail aliases functionality
67
-
68
- "git send-email" learned to handle more forms of sendmail style
69
- aliases file.
70
-
71
-
72
-* es/utf8-stupid-compiler-workaround (2015-06-05) 1 commit
73
- (merged to 'next' on 2015-06-11 at dc0f2d2)
74
- + utf8: NO_ICONV: silence uninitialized variable warning
75
-
76
- A compilation workaround.
77
-
78
-
79
-* fk/doc-format-patch-vn (2015-06-10) 1 commit
80
- (merged to 'next' on 2015-06-16 at 9be3516)
81
- + doc: format-patch: fix typo
82
-
83
- Docfix.
84
-
85
-
86
-* jc/apply-reject-noop-hunk (2015-06-01) 1 commit
87
- (merged to 'next' on 2015-06-11 at 8063665)
88
- + apply: reject a hunk that does not do anything
89
-
90
- "git apply" cannot diagnose a patch corruption when the breakage is
91
- to mark the length of the hunk shorter than it really is on the
92
- hunk header line "@@ -l,k +m,n @@"; one special case it could is
93
- when the hunk becomes no-op (e.g. k == n == 2 for two-line context
94
- patch output), and it learned to do so for this special case.
95
-
96
-
97
-* jc/do-not-feed-tags-to-clear-commit-marks (2015-06-01) 1 commit
98
- (merged to 'next' on 2015-06-11 at 65b4308)
99
- + format-patch: do not feed tags to clear_commit_marks()
100
-
101
- "git format-patch --ignore-if-upstream A..B" did not like to be fed
102
- tags as boundary commits.
103
-
104
-
105
-* jc/ll-merge-expose-path (2015-06-04) 1 commit
106
- (merged to 'next' on 2015-06-11 at 5c5fe41)
107
- + ll-merge: pass the original path to external drivers
108
-
109
- Traditionally, external low-level 3-way merge drivers are expected
110
- to produce their results based solely on the contents of the three
111
- variants given in temporary files named by %O, %A and %B on their
112
- command line. Additionally allow them to look at the final path
113
- (given by %P).
114
-
115
-
116
-* jk/index-pack-reduce-recheck (2015-06-09) 1 commit
117
- (merged to 'next' on 2015-06-16 at ff83705)
118
- + index-pack: avoid excessive re-reading of pack directory
119
-
120
- Disable "have we lost a race with competing repack?" check while
121
- receiving a huge object transfer that runs index-pack.
122
-
123
-
124
-* jk/stash-require-clean-index (2015-06-15) 1 commit
125
- (merged to 'next' on 2015-06-16 at beb4883)
126
- + Revert "stash: require a clean index to apply"
127
-
128
- A hotfix for the topic already in 'master'.
129
-
130
-
131
-* js/sleep-without-select (2015-06-05) 4 commits
132
- (merged to 'next' on 2015-06-11 at 278edb1)
133
- + lockfile: wait using sleep_millisec() instead of select()
134
- + lockfile: convert retry timeout computations to millisecond
135
- + help.c: wrap wait-only poll() invocation in sleep_millisec()
136
- + lockfile: replace random() by rand()
137
-
138
- Portability fix.
139
-
140
-
141
-* ld/p4-changes-block-size (2015-06-10) 4 commits
142
- (merged to 'next' on 2015-06-16 at 09b7daa)
143
- + git-p4: fixing --changes-block-size handling
144
- + git-p4: add tests for non-numeric revision range
145
- + git-p4: test with limited p4 server results
146
- + git-p4: additional testing of --changes-block-size
147
-
148
- More workaround for Perforce's row number limit in "git p4".
149
-
150
-
151
-* mh/fsck-reflog-entries (2015-06-08) 2 commits
152
- (merged to 'next' on 2015-06-16 at 44e3202)
153
- + fsck: report errors if reflog entries point at invalid objects
154
- + fsck_handle_reflog_sha1(): new function
155
-
156
- "git fsck" used to ignore missing or invalid objects recorded in reflog.
157
-
158
-
159
-* mh/reporting-broken-refs-from-for-each-ref (2015-06-08) 4 commits
160
- (merged to 'next' on 2015-06-16 at 31af2b8)
161
- + read_loose_refs(): treat NULL_SHA1 loose references as broken
162
- + read_loose_refs(): simplify function logic
163
- + for-each-ref: report broken references correctly
164
- + t6301: new tests of for-each-ref error handling
165
-
166
- "git for-each-ref" reported "missing object" for 0{40} when it
167
- encounters a broken ref. The lack of object whose name is 0{40} is
168
- not the problem; the ref being broken is.
169
-
170
-
171
-* nd/untracked-cache (2015-06-08) 1 commit
172
- (merged to 'next' on 2015-06-16 at 5e7df1d)
173
- + read-cache: fix untracked cache invalidation when split-index is used
174
-
175
- Hotfix for the 'untracked-cache' topic that is already in 'master'.
33
+* nd/diff-i-t-a (2015-06-23) 1 commit
34
+ + Revert "diff-lib.c: adjust position of i-t-a entries in diff"
35
36
+ The "let's show paths added with -N as 'new' in status output"
37
+ change was done without enough consideration on potential fallouts
38
+ on the codepaths that do not have anything to do with "status" and
39
+ caused regression to at least one widely used "wsadd" alias.
40
178
-* pa/auto-gc-mac-osx (2015-06-12) 1 commit
179
- (merged to 'next' on 2015-06-16 at 151ec95)
180
- + hooks/pre-auto-gc: adjust power checking for newer OS X
41
+--------------------------------------------------
42
+[New Topics]
43
182
- Recent Mac OS X updates breaks the logic to detect that the machine
183
- is on the AC power in the sample pre-auto-gc script.
44
+None of these is particularly urgent.
45
46
+* dt/refs-backend-preamble (2015-06-29) 7 commits
47
+ - git-stash: use git-reflog instead of creating files
48
+ - git-reflog: add create and exists functions
49
+ - refs: new public ref function: safe_create_reflog
50
+ - refs: break out check for reflog autocreation
51
+ - bisect: treat BISECT_HEAD as a ref
52
+ - cherry-pick: treat CHERRY_PICK_HEAD and REVERT_HEAD as refs
53
+ - refs.c: add err arguments to reflog functions
54
186
-* pt/am-abort-fix (2015-06-08) 6 commits
187
- (merged to 'next' on 2015-06-16 at 9cac1de)
188
- + am --abort: keep unrelated commits on unborn branch
189
- + am --abort: support aborting to unborn branch
190
- + am --abort: revert changes introduced by failed 3way merge
191
- + am --skip: support skipping while on unborn branch
192
- + am -3: support 3way merge on unborn branch
193
- + am --skip: revert changes introduced by failed 3way merge
55
+ In preparation for allowing different "backends" to store the refs
56
+ in a way different from the traditional "one ref per file in $GIT_DIR
57
+ or in a $GIT_DIR/packed-refs file" filesystem storage, reduce
58
+ direct filesystem access to ref-like things like CHERRY_PICK_HEAD
59
+ from scripts and programs.
60
195
- Various fixes around "git am" that applies a patch to a history
196
- that is not there yet.
61
+ Will merge to 'next'.
62
63
199
-* pt/pull-optparse (2015-06-02) 3 commits
200
- (merged to 'next' on 2015-06-11 at e252b4c)
201
- + pull: use git-rev-parse --parseopt for option parsing
202
- + pull: handle git-fetch's options as well
203
- + Merge branch 'pt/pull-tests' into pt/pull-optparse
64
+* et/http-proxyauth (2015-06-29) 1 commit
65
+ - http: always use any proxy auth method available
66
205
- "git pull" has become more aware of the options meant for
206
- underlying "git fetch" and then learned to use parse-options
207
- parser.
67
+ We used to ask libCURL to use the most secure authentication method
68
+ available when talking to an HTTP proxy only when we were told to
69
+ talk to one via configuration variables. We now ask libCURL to
70
+ always use the most secure authentication method, because the user
71
+ can tell libCURL to use an HTTP proxy via an environment variable
72
+ without using configuration variables.
73
74
+ Looked sensible. An extra set of eyes appreciated, but I think
75
+ this is ready.
76
210
-* pt/t0302-needs-sanity (2015-06-12) 1 commit
211
- (merged to 'next' on 2015-06-16 at f0d8e17)
212
- + t0302: "unreadable" test needs SANITY prereq
77
+ Will merge to 'next'.
78
79
215
-* qn/blame-show-email (2015-06-01) 1 commit
216
- (merged to 'next' on 2015-06-11 at b4998e2)
217
- + blame: add blame.showEmail configuration
80
+* jc/fsck-retire-require-eoh (2015-06-28) 1 commit
81
+ - fsck: it is OK for a tag and a commit to lack the body
82
219
- "git blame" learned blame.showEmail configuration variable.
83
+ A fix to a minor regression to "git fsck" in v2.2 era that started
84
+ complaining about a body-less tag object when it lacks a separator
85
+ empty line after its header to separate it with a non-existent body.
86
87
+ Will merge to 'next'.
88
222
-* rl/am-3way-config (2015-06-04) 3 commits
223
- (merged to 'next' on 2015-06-11 at 9b9910d)
224
- + git-am: add am.threeWay config variable
225
- + t4150-am: refactor am -3 tests
226
- + git-am.sh: fix initialization of the threeway variable
89
228
- "git am" learned am.threeWay configuration variable.
90
+* jk/date-mode-format (2015-06-29) 3 commits
91
+ - introduce "format" date-mode
92
+ - convert "enum date_mode" into a struct
93
+ - show-branch: use DATE_RELATIVE instead of magic number
94
95
+ Teach "git log" and friends a new "--date=format:..." option to
96
+ format timestamps using system's strftime(3).
97
231
-* sg/commit-cleanup-scissors (2015-06-09) 1 commit
232
- (merged to 'next' on 2015-06-16 at 988e23d)
233
- + commit: cope with scissors lines in commit message
98
+ Will merge to 'next'.
99
235
- "git commit --cleanup=scissors" was not careful enough to protect
236
- against getting fooled by a line that looked like scissors.
100
101
+* jk/still-interesting (2015-06-29) 1 commit
102
+ - revision.c: remove unneeded check for NULL
103
239
-* sg/completion-commit-cleanup (2015-06-08) 1 commit
240
- (merged to 'next' on 2015-06-16 at a9d1c77)
241
- + completion: teach 'scissors' mode to 'git commit --cleanup='
104
+ Code clean-up.
105
243
---------------------------------------------------
244
-[New Topics]
106
+ Will merge to 'next'.
107
246
-* ad/bisect-terms (2015-06-24) 5 commits
247
- - bisect: allow any terms set by user
248
- - bisect: add the terms old/new
249
- - bisect: simplify the addition of new bisect terms
250
- - bisect: replace hardcoded "bad|good" by variables
251
- - bisect: correction of typo
108
253
- The use of 'good/bad' in "git bisect" made it confusing to use when
254
- hunting for a state change that is not a regression (e.g. bugfix).
255
- The command learned 'old/new' and then also allows the end user to
256
- choose the words via a new subcommand "git bisect terms $new $old".
109
+* nd/export-worktree (2015-06-26) 1 commit
110
+ - setup: set env $GIT_WORK_TREE when work tree is set, like $GIT_DIR
111
258
- The last one is still iffy ($gmane/272554); perhaps split this
259
- at patch 4 and leave the last one as a separate topic.
112
+ Running an aliased command from a subdirectory when the .git thing
113
+ in the working tree is a gitfile pointing elsewhere did not work.
114
115
+ Will merge to 'next'.
116
262
-* mh/tempfile (2015-06-10) 14 commits
263
- - credential-cache--daemon: use tempfile module
264
- - credential-cache--daemon: delete socket from main()
265
- - gc: use tempfile module to handle gc.pid file
266
- - lock_repo_for_gc(): compute the path to "gc.pid" only once
267
- - diff: use tempfile module
268
- - setup_temporary_shallow(): use tempfile module
269
- - write_shared_index(): use tempfile module
270
- - register_tempfile(): new function to handle an existing temporary file
271
- - tempfile: add several functions for creating temporary files
272
- - register_tempfile_object(): new function, extracted from create_tempfile()
273
- - commit_lock_file(): use get_locked_file_path()
274
- - lockfile: remove some redundant functions
275
- - tempfile: a new module for handling temporary files
276
- - Move lockfile API documentation to lockfile.h
117
278
- Rebuild "lockfile" API on top of a new "tempfile" API.
279
- This needs rerolling, to include "tempfile.h" in "lockfile.h", at
280
- least.
118
+* sb/p5310-and-chain (2015-06-26) 1 commit
119
+ - p5310: Fix broken && chain in performance test
120
282
- Expecting a reroll.
283
- ($gmane/271353)
121
+ Code clean-up.
122
123
+ Will merge to 'next'.
124
286
-* nd/diff-i-t-a (2015-06-23) 1 commit
287
- - Revert "diff-lib.c: adjust position of i-t-a entries in diff"
125
289
- The "let's show paths added with -N as 'new' in status output"
290
- change was done without enough consideration on potential fallouts
291
- on the codepaths that do not have anything to do with "status" and
292
- caused regression to at least one widely used "wsadd" alias.
126
+* jc/rerere (2015-06-28) 5 commits
127
+ - rerere: report autoupdated paths only after actually updating them
128
+ - rerere: write out each record of MERGE_RR in one go
129
+ - rerere: lift PATH_MAX limitation
130
+ - t4200: rerere a merge with two identical conflicts
131
+ - rerere: fix an off-by-one non-bug
132
294
- We do not know how widespread the fallouts would be; while we
295
- determine if it is feasible to squash all the fallouts and move
296
- things forward until the upcoming release or it would take more
297
- time and better be postponed til the next cycle, I prepared this
298
- just in case we need to revert it.
133
+ Code clean-up (so far).
134
135
--------------------------------------------------
136
[Stalled]
@@ -504,6 +339,49 @@ of the repositories listed at
339
--------------------------------------------------
340
[Cooking]
341
342
+* ad/bisect-terms (2015-06-29) 10 commits
343
+ - bisect: allow setting any user-specified in 'git bisect start'
344
+ - bisect: add 'git bisect terms' to view the current terms
345
+ - bisect: add the terms old/new
346
+ - bisect: sanity check on terms
347
+ - bisect: don't mix option parsing and non-trivial code
348
+ - bisect: simplify the addition of new bisect terms
349
+ - bisect: replace hardcoded "bad|good" by variables
350
+ - Documentation/bisect: revise overall content
351
+ - Documentation/bisect: move getting help section to the end
352
+ - bisect: correction of typo
353
+
354
+ The use of 'good/bad' in "git bisect" made it confusing to use when
355
+ hunting for a state change that is not a regression (e.g. bugfix).
356
+ The command learned 'old/new' and then allows the end user to
357
+ say e.g. "bisect start --term-old=fast --term=new=slow" to find a
358
+ performance regression.
359
+
360
+
361
+* mh/tempfile (2015-06-10) 14 commits
362
+ - credential-cache--daemon: use tempfile module
363
+ - credential-cache--daemon: delete socket from main()
364
+ - gc: use tempfile module to handle gc.pid file
365
+ - lock_repo_for_gc(): compute the path to "gc.pid" only once
366
+ - diff: use tempfile module
367
+ - setup_temporary_shallow(): use tempfile module
368
+ - write_shared_index(): use tempfile module
369
+ - register_tempfile(): new function to handle an existing temporary file
370
+ - tempfile: add several functions for creating temporary files
371
+ - register_tempfile_object(): new function, extracted from create_tempfile()
372
+ - commit_lock_file(): use get_locked_file_path()
373
+ - lockfile: remove some redundant functions
374
+ - tempfile: a new module for handling temporary files
375
+ - Move lockfile API documentation to lockfile.h
376
+
377
+ Rebuild "lockfile" API on top of a new "tempfile" API.
378
+ This needs rerolling, to include "tempfile.h" in "lockfile.h", at
379
+ least.
380
+
381
+ Expecting a reroll.
382
+ ($gmane/271353)
383
+
384
+
385
* js/fsck-opt (2015-06-23) 19 commits
386
- fsck: support ignoring objects in `git fsck` via fsck.skiplist
387
- fsck: git receive-pack: support excluding objects from fsck'ing
@@ -532,7 +410,7 @@ of the repositories listed at
410
Will merge to 'next'.
411
412
535
-* js/rebase-i-clean-up-upon-continue-to-skip (2015-06-23) 2 commits
413
+* js/rebase-i-clean-up-upon-continue-to-skip (2015-06-29) 2 commits
414
- rebase -i: do not leave a CHERRY_PICK_HEAD file behind
415
- t3404: demonstrate CHERRY_PICK_HEAD bug
416
@@ -650,7 +528,7 @@ of the repositories listed at
528
Will merge to 'master'.
529
530
653
-* jk/cat-file-batch-all (2015-06-22) 8 commits
531
+* jk/cat-file-batch-all (2015-06-26) 8 commits
532
- cat-file: sort and de-dup output of --batch-all-objects
533
- cat-file: add --batch-all-objects option
534
- cat-file: split batch_one_object into two stages
@@ -703,6 +581,7 @@ of the repositories listed at
581
+ for-each-ref: rename 'refinfo' to 'ref_array_item'
582
+ for-each-ref: clean up code
583
+ for-each-ref: extract helper functions out of grab_single_ref()
584
+ (this branch is used by kn/for-each-tag-branch.)
585
586
GSoC project to rebuild ref listing by branch and tag based on the
587
for-each-ref machinery. This is its first part.
@@ -743,7 +622,9 @@ of the repositories listed at
622
other than refs/replace/ for the object replacement data.
623
624
746
-* nd/multiple-work-trees (2015-06-12) 1 commit
625
+* nd/multiple-work-trees (2015-06-29) 2 commits
626
+ (merged to 'next' on 2015-06-29 at fd4eb60)
627
+ + worktree: new place for "git prune --worktrees"
628
(merged to 'next' on 2015-06-24 at 7c3f918)
629
+ checkout: don't check worktrees when not necessary
630
@@ -832,7 +713,7 @@ of the repositories listed at
713
Reimplement 'git pull' in C.
714
715
This is v4 ($gmane/271943).
835
- Comments from mentors and others?
716
+ Will merge to 'next'.
717
718
719
* rl/send-email-aliases (2015-06-17) 10 commits
@@ -896,7 +777,8 @@ of the repositories listed at
777
What's the status of this one?
778
779
899
-* gr/rebase-i-drop-warn (2015-06-01) 2 commits
780
+* gr/rebase-i-drop-warn (2015-06-24) 3 commits
781
+ - git rebase -i: add static check for commands and SHA-1
782
- git rebase -i: warn about removed commits
783
- git-rebase -i: add command "drop" to remove a commit
784
@@ -905,9 +787,7 @@ of the repositories listed at
787
who do not use it (and instead just remove the lines) by throwing
788
a warning.
789
908
- This is a lot older version than the latest round ($gmane/272420)
909
- Expecting a reroll.
910
- ($gmane/272506).
790
+ Need to pick up the latest reroll ($gmane/273009).
791
792
793
* jh/strbuf-read-use-read-in-full (2015-06-01) 1 commit
@@ -963,7 +843,9 @@ of the repositories listed at
843
Still an early WIP
844
845
966
-* ee/clean-remove-dirs (2015-06-15) 5 commits
846
+* ee/clean-remove-dirs (2015-06-26) 6 commits
847
+ (merged to 'next' on 2015-06-29 at d595659)
848
+ + read_gitfile_gently: fix use-after-free
849
(merged to 'next' on 2015-06-24 at 7c27821)
850
+ clean: improve performance when removing lots of directories
851
+ p7300: add performance tests for clean