What's cooking (2014/07 #05)
Junio C Hamano committed
Jul 24, 2014 at 14:51 UTC
24f6d585a718c5e4a162467af3e326350c013f21
1 file changed
+142
-266
whats-cooking.txt
+142
-266
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
Bcc: lwn@lwn.net
3
-Subject: What's cooking in git.git (Jul 2014, #04; Tue, 22)
4
-X-master-at: 247b4d5f3807dc3c2230bb4bf497f84a1fc59e49
5
-X-next-at: 4e82b8a515ec47d61c8bae6e6c474815e9e9b827
3
+Subject: What's cooking in git.git (Jul 2014, #05; Thu, 24)
4
+X-master-at: 996b0fdbb4ff63bfd880b3901f054139c95611cf
5
+X-next-at: 7327a17171fc87d5f8f5c790eb1ba1d0e031482d
6
7
-What's cooking in git.git (Jul 2014, #04; Tue, 22)
7
+What's cooking in git.git (Jul 2014, #05; Thu, 24)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking. Commits prefixed with
@@ -15,7 +15,7 @@ We would need to start slowing down to prepare for -rc0 preview at
15
the end of this week and then feature freeze. Some topics that
16
joined 'next' late may want to stay there for the remainder of this
17
cycle. Many of the accumulated fixes have been flushed to 'maint'
18
-and Git 2.0.2 has been tagged.
18
+and Git 2.0.3 has been tagged.
19
20
You can find the changes described here in the integration branches
21
of the repositories listed at
@@ -25,170 +25,14 @@ of the repositories listed at
25
--------------------------------------------------
26
[Graduated to "master"]
27
28
-* ak/profile-feedback-build (2014-07-08) 4 commits
29
- (merged to 'next' on 2014-07-14 at c40e86e)
30
- + Fix profile feedback with -jN and add profile-fast
31
- + Run the perf test suite for profile feedback too
32
- + Don't define away __attribute__ on gcc
33
- + Use BASIC_FLAGS for profile feedback
34
-
35
- The support for the profile-feedback build, which has been left
36
- bit-rotten for quite a while, has been updated.
37
-
38
-
39
-* cc/for-each-mergetag (2014-07-07) 1 commit
40
- (merged to 'next' on 2014-07-15 at c5dd3ee)
41
- + commit: add for_each_mergetag()
42
- (this branch is used by cc/replace-graft.)
43
-
44
-
45
-* ek/alt-odb-entry-fix (2014-07-15) 1 commit
46
- (merged to 'next' on 2014-07-17 at a5f43e2)
47
- + sha1_file: do not add own object directory as alternate
48
-
49
-
50
-* jk/alloc-commit-id (2014-07-13) 8 commits
51
- (merged to 'next' on 2014-07-16 at f14c01a)
52
- + diff-tree: avoid lookup_unknown_object
53
- + object_as_type: set commit index
54
- + alloc: factor out commit index
55
- + add object_as_type helper for casting objects
56
- + parse_object_buffer: do not set object type
57
- + move setting of object->type to alloc_* functions
58
- + alloc: write out allocator definitions
59
- + alloc.c: remove the alloc_raw_commit_node() function
60
-
61
- Make sure all in-core commit objects are assigned a unique number
62
- so that they can be annotated using the commit-slab API.
63
-
64
-
65
-* jk/remote-curl-squelch-extra-errors (2014-07-10) 3 commits
66
- (merged to 'next' on 2014-07-14 at a2efa2f)
67
- + remote-curl: mark helper-protocol errors more clearly
68
- + remote-curl: use error instead of fprintf(stderr)
69
- + remote-curl: do not complain on EOF from parent git
70
-
71
- Show HTTP transfer errors from remote-curl helper more clearly to
72
- help avoid user confusion.
73
-
74
-
75
-* jl/submodule-tests (2014-07-14) 14 commits
76
- (merged to 'next' on 2014-07-14 at 0c750bb)
77
- + revert: add t3513 for submodule updates
78
- + stash: add t3906 for submodule updates
79
- + am: add t4255 for submodule updates
80
- + cherry-pick: add t3512 for submodule updates
81
- + pull: add t5572 for submodule updates
82
- + rebase: add t3426 for submodule updates
83
- + merge: add t7613 for submodule updates
84
- + bisect: add t6041 for submodule updates
85
- + reset: add t7112 for submodule updates
86
- + read-tree: add t1013 for submodule updates
87
- + apply: add t4137 for submodule updates
88
- + checkout: call the new submodule update test framework
89
- + submodules: add the lib-submodule-update.sh test library
90
- + test-lib: add test_dir_is_empty()
91
-
92
-
93
-* kb/avoid-fchmod-for-now (2014-07-16) 1 commit
94
- (merged to 'next' on 2014-07-17 at fc26c4b)
95
- + config: use chmod() instead of fchmod()
96
-
97
- Replace the only two uses of fchmod() with chmod() because the
98
- former does not work on Windows port and because luckily we can.
99
-
100
-
101
-* kb/hashmap-updates (2014-07-07) 4 commits
102
- (merged to 'next' on 2014-07-15 at 6dd6611)
103
- + hashmap: add string interning API
104
- + hashmap: add simplified hashmap_get_from_hash() API
105
- + hashmap: improve struct hashmap member documentation
106
- + hashmap: factor out getting a hash code from a SHA1
107
-
108
-
109
-* kb/perf-trace (2014-07-13) 17 commits
110
- (merged to 'next' on 2014-07-15 at 09ade08)
111
- + api-trace.txt: add trace API documentation
112
- + progress: simplify performance measurement by using getnanotime()
113
- + wt-status: simplify performance measurement by using getnanotime()
114
- + git: add performance tracing for git's main() function to debug scripts
115
- + trace: add trace_performance facility to debug performance issues
116
- + trace: add high resolution timer function to debug performance issues
117
- + trace: add 'file:line' to all trace output
118
- + trace: move code around, in preparation to file:line output
119
- + trace: add current timestamp to all trace output
120
- + trace: disable additional trace output for unit tests
121
- + trace: add infrastructure to augment trace output with additional info
122
- + sha1_file: change GIT_TRACE_PACK_ACCESS logging to use trace API
123
- + Documentation/git.txt: improve documentation of 'GIT_TRACE*' variables
124
- + trace: improve trace performance
125
- + trace: remove redundant printf format attribute
126
- + trace: consistently name the format parameter
127
- + trace: move trace declarations from cache.h to new trace.h
128
-
129
- Show timestamps in GIT_TRACE output.
130
-
131
-
132
-* nd/path-max-must-go (2014-07-14) 3 commits
133
- (merged to 'next' on 2014-07-15 at ce68dde)
134
- + prep_exclude: remove the artificial PATH_MAX limit
135
- + dir.h: move struct exclude declaration to top level
136
- + dir.c: coding style fix
137
-
138
- Lift arbitrary PATH_MAX limit in the code to enumerate paths in the
139
- working tree.
140
-
141
-
142
-* rs/code-cleaning (2014-07-18) 7 commits
143
- (merged to 'next' on 2014-07-21 at 7312ddc)
144
- + remote-testsvn: use internal argv_array of struct child_process in cmd_import()
145
- + bundle: use internal argv_array of struct child_process in create_bundle()
146
- + fast-import: use hashcmp() for SHA1 hash comparison
147
- + transport: simplify fetch_objs_via_rsync() using argv_array
148
- + run-command: use internal argv_array of struct child_process in run_hook_ve()
149
- + use commit_list_count() to count the members of commit_lists
150
- + strbuf: use strbuf_addstr() for adding C strings
151
-
152
-
153
-* rs/ref-transaction-0 (2014-07-14) 19 commits
154
- (merged to 'next' on 2014-07-14 at b21bcee)
155
- + refs.c: change ref_transaction_update() to do error checking and return status
156
- + refs.c: remove the onerr argument to ref_transaction_commit
157
- + update-ref: use err argument to get error from ref_transaction_commit
158
- + refs.c: make update_ref_write update a strbuf on failure
159
- + refs.c: make ref_update_reject_duplicates take a strbuf argument for errors
160
- + refs.c: log_ref_write should try to return meaningful errno
161
- + refs.c: make resolve_ref_unsafe set errno to something meaningful on error
162
- + refs.c: commit_packed_refs to return a meaningful errno on failure
163
- + refs.c: make remove_empty_directories always set errno to something sane
164
- + refs.c: verify_lock should set errno to something meaningful
165
- + refs.c: make sure log_ref_setup returns a meaningful errno
166
- + refs.c: add an err argument to repack_without_refs
167
- + lockfile.c: make lock_file return a meaningful errno on failurei
168
- + lockfile.c: add a new public function unable_to_lock_message
169
- + refs.c: add a strbuf argument to ref_transaction_commit for error logging
170
- + refs.c: allow passing NULL to ref_transaction_free
171
- + refs.c: constify the sha arguments for ref_transaction_create|delete|update
172
- + refs.c: ref_transaction_commit should not free the transaction
173
- + refs.c: remove ref_transaction_rollback
174
- (this branch is used by rs/ref-transaction and rs/ref-transaction-1.)
175
-
176
- Early part of the "ref transaction" topic.
177
-
178
-
179
-* rs/unify-is-branch (2014-07-16) 1 commit
180
- (merged to 'next' on 2014-07-17 at 55f530b)
181
- + refs.c: add a public is_branch function
182
-
183
-
184
-* sk/mingw-uni-fix (2014-07-15) 2 commits
185
- (merged to 'next' on 2014-07-17 at ffef7a1)
186
- + Win32: Unicode file name support (dirent)
187
- + Win32: Unicode file name support (except dirent)
188
- (this branch is used by sk/mingw-uni-fix-more.)
28
+* jk/tag-sort (2014-07-17) 2 commits
29
+ (merged to 'next' on 2014-07-21 at bc34738)
30
+ + tag: support configuring --sort via .gitconfig
31
+ + tag: fix --sort tests to use cat<<-\EOF format
32
+
33
+ Teach "git tag" to pay attention to "tag.sort" configuration, to be
34
+ used as the default sort order when no --sort=<value> is given.
35
190
---------------------------------------------------
191
-[New Topics]
36
37
* mb/local-clone-after-applying-insteadof (2014-07-17) 1 commit
38
(merged to 'next' on 2014-07-21 at ebe07c2)
@@ -200,66 +44,6 @@ of the repositories listed at
44
$URL" that refers to a repository over the network to a clone from
45
a local disk.
46
203
- Will merge to 'master'.
204
-
205
-
206
-* nd/path-max-is-better-than-hardcoded-magic-1024 (2014-07-17) 1 commit
207
- - abspath.c: use PATH_MAX in real_path_internal()
208
-
209
- Still being discussed.
210
-
211
-
212
-* sk/mingw-uni-fix-more (2014-07-21) 14 commits
213
- - Win32: enable color output in Windows cmd.exe
214
- - Win32: patch Windows environment on startup
215
- - Win32: keep the environment sorted
216
- - Win32: use low-level memory allocation during initialization
217
- - Win32: reduce environment array reallocations
218
- - Win32: don't copy the environment twice when spawning child processes
219
- - Win32: factor out environment block creation
220
- - Win32: unify environment function names
221
- - Win32: unify environment case-sensitivity
222
- - Win32: fix environment memory leaks
223
- - Win32: Unicode environment (incoming)
224
- - Win32: Unicode environment (outgoing)
225
- - Revert "Windows: teach getenv to do a case-sensitive search"
226
- - tests: do not pass iso8859-1 encoded parameter
227
-
228
- Most of these are battle-tested in msysgit and are needed to
229
- complete what has been merged to 'master' already.
230
-
231
- A fix has been squashed into "Unicode environ (outgoing)"; is this
232
- now ready to go?
233
-
234
-
235
-* sk/mingw-tests-workaround (2014-07-21) 6 commits
236
- - t800[12]: work around MSys limitation
237
- - t9902: mingw-specific fix for gitfile link files
238
- - t4210: skip command-line encoding tests on mingw
239
- - MinGW: disable legacy encoding tests
240
- - t0110/MinGW: skip tests that pass arbitrary bytes on the command line
241
- - MinGW: Skip test redirecting to fd 4
242
- (this branch is used by jc/not-mingw-cygwin.)
243
-
244
- Make tests pass on msysgit by mostly disabling ones that are
245
- infeasible on that platform.
246
-
247
- The t0110 one has been replaced; is this now ready to go?
248
-
249
-
250
-* ta/string-list-init (2014-07-21) 2 commits
251
- (merged to 'next' on 2014-07-21 at 63e8891)
252
- + replace memset with string-list initializers
253
- + string-list: add string_list initializer helper function
254
- (this branch is tangled with ta/config-set.)
255
-
256
- Will merge to 'master'.
257
-
258
-
259
-* cb/mergetool-difftool (2014-07-21) 2 commits
260
- - difftool: don't assume that default sh is sane
261
- - mergetool: don't require a work tree for --tool-help
262
-
47
48
* rs/fix-unlink-unix-socket (2014-07-21) 1 commit
49
(merged to 'next' on 2014-07-22 at fad8c29)
@@ -270,33 +54,59 @@ of the repositories listed at
54
to the socket was given as an overlong path that does not fit in
55
sun_path member of the sockaddr_un structure.
56
273
- Will merge to 'master'.
274
-
57
276
-* rs/strbuf-getcwd (2014-07-21) 4 commits
277
- - use xgetcwd() get the current directory or die
278
- - wrapper: add xgetcwd()
279
- - use strbuf_getcwd() to get the current working directory without fixed-sized buffers
280
- - strbuf: add strbuf_getcwd()
281
-
282
- Still being discussed.
283
-
284
-
285
-* jc/not-mingw-cygwin (2014-07-21) 2 commits
286
- - test prerequisites: enumerate with commas
287
- - test prerequisites: eradicate NOT_FOO
288
- (this branch uses sk/mingw-tests-workaround.)
289
-
290
- We have been using NOT_{MINGW,CYGWIN} test prerequisites long
291
- before Peff invented support for negated prerequisites e.g. !MINGW
292
- and we still add more uses of the former. Convert them to the
293
- latter to avoid confusion.
58
+* ta/string-list-init (2014-07-21) 2 commits
59
+ (merged to 'next' on 2014-07-21 at 63e8891)
60
+ + replace memset with string-list initializers
61
+ + string-list: add string_list initializer helper function
62
+ (this branch is tangled with ta/config-set.)
63
64
+--------------------------------------------------
65
+[New Topics]
66
296
-* jk/more-push-completion (2014-07-22) 3 commits
297
- - completion: complete `git push --force-with-lease=`
298
- - completion: add some missing options to `git push`
299
- - completion: complete "unstuck" `git push --recurse-submodules`
67
+* nd/multiple-work-trees-1 (2014-07-23) 5 commits
68
+ - environment.c: fix incorrect git_graft_file initialization
69
+ - checkout --to: fix dangling pointers in remove_junk()
70
+ - checkout --to: no auto-detach if the ref is already checked out
71
+ - prune --repos: fix uninitialized access
72
+ - gitrepository-layout.txt: s/ignored/ignored if/
73
+ (this branch uses nd/multiple-work-trees.)
74
+
75
+ Continue polishing nd/multiple-work-trees topic in 'next'.
76
+
77
+
78
+* jk/misc-fixes-maint (2014-07-24) 5 commits
79
+ - apply: avoid possible bogus pointer
80
+ - fix memory leak parsing core.commentchar
81
+ - transport: fix leaks in refs_from_alternate_cb
82
+ - free ref string returned by dwim_ref
83
+ - receive-pack: don't copy "dir" parameter
84
+
85
+ Miscellaneous fixes.
86
+
87
+ Will merge to 'next' and then to 'master'.
88
+
89
+
90
+* rs/ref-transaction-reflog (2014-07-23) 15 commits
91
+ - refs.c: allow deleting refs with a broken sha1
92
+ - refs.c: remove lock_any_ref_for_update
93
+ - refs.c: make unlock_ref/close_ref/commit_ref static
94
+ - refs.c: rename log_ref_setup to create_reflog
95
+ - reflog.c: use a reflog transaction when writing during expire
96
+ - refs.c: allow multiple reflog updates during a single transaction
97
+ - refs.c: only write reflog update if msg is non-NULL
98
+ - refs.c: add a flag to allow reflog updates to truncate the log
99
+ - refs.c: add a transaction function to append a reflog entry
100
+ - lockfile.c: make hold_lock_file_for_append preserve meaningful errno
101
+ - refs.c: add a function to append a reflog entry to a fd
102
+ - refs.c: add a new update_type field to ref_update
103
+ - refs.c: rename the transaction functions
104
+ - refs.c: make ref_transaction_delete a wrapper for ref_transaction_update
105
+ - refs.c: make ref_transaction_create a wrapper to ref_transaction_update
106
+ (this branch uses rs/ref-transaction and rs/ref-transaction-1.)
107
+
108
+ Cover updates to reflog with the same transaction mechanism as used
109
+ for reflog manipulations.
110
111
--------------------------------------------------
112
[Stalled]
@@ -522,6 +332,81 @@ of the repositories listed at
332
--------------------------------------------------
333
[Cooking]
334
335
+* nd/path-max-is-better-than-hardcoded-magic-1024 (2014-07-17) 1 commit
336
+ - abspath.c: use PATH_MAX in real_path_internal()
337
+
338
+ Still being discussed.
339
+
340
+
341
+* sk/mingw-uni-fix-more (2014-07-21) 14 commits
342
+ - Win32: enable color output in Windows cmd.exe
343
+ - Win32: patch Windows environment on startup
344
+ - Win32: keep the environment sorted
345
+ - Win32: use low-level memory allocation during initialization
346
+ - Win32: reduce environment array reallocations
347
+ - Win32: don't copy the environment twice when spawning child processes
348
+ - Win32: factor out environment block creation
349
+ - Win32: unify environment function names
350
+ - Win32: unify environment case-sensitivity
351
+ - Win32: fix environment memory leaks
352
+ - Win32: Unicode environment (incoming)
353
+ - Win32: Unicode environment (outgoing)
354
+ - Revert "Windows: teach getenv to do a case-sensitive search"
355
+ - tests: do not pass iso8859-1 encoded parameter
356
+
357
+ Most of these are battle-tested in msysgit and are needed to
358
+ complete what has been merged to 'master' already.
359
+
360
+ A fix has been squashed into "Unicode environ (outgoing)"; is this
361
+ now ready to go?
362
+
363
+
364
+* sk/mingw-tests-workaround (2014-07-21) 6 commits
365
+ - t800[12]: work around MSys limitation
366
+ - t9902: mingw-specific fix for gitfile link files
367
+ - t4210: skip command-line encoding tests on mingw
368
+ - MinGW: disable legacy encoding tests
369
+ - t0110/MinGW: skip tests that pass arbitrary bytes on the command line
370
+ - MinGW: Skip test redirecting to fd 4
371
+ (this branch is used by jc/not-mingw-cygwin.)
372
+
373
+ Make tests pass on msysgit by mostly disabling ones that are
374
+ infeasible on that platform.
375
+
376
+ The t0110 one has been replaced; is this now ready to go?
377
+
378
+
379
+* cb/mergetool-difftool (2014-07-21) 2 commits
380
+ - difftool: don't assume that default sh is sane
381
+ - mergetool: don't require a work tree for --tool-help
382
+
383
+
384
+* rs/strbuf-getcwd (2014-07-21) 4 commits
385
+ - use xgetcwd() get the current directory or die
386
+ - wrapper: add xgetcwd()
387
+ - use strbuf_getcwd() to get the current working directory without fixed-sized buffers
388
+ - strbuf: add strbuf_getcwd()
389
+
390
+ Still being discussed.
391
+
392
+
393
+* jc/not-mingw-cygwin (2014-07-21) 2 commits
394
+ - test prerequisites: enumerate with commas
395
+ - test prerequisites: eradicate NOT_FOO
396
+ (this branch uses sk/mingw-tests-workaround.)
397
+
398
+ We have been using NOT_{MINGW,CYGWIN} test prerequisites long
399
+ before Peff invented support for negated prerequisites e.g. !MINGW
400
+ and we still add more uses of the former. Convert them to the
401
+ latter to avoid confusion.
402
+
403
+
404
+* jk/more-push-completion (2014-07-22) 3 commits
405
+ - completion: complete `git push --force-with-lease=`
406
+ - completion: add some missing options to `git push`
407
+ - completion: complete "unstuck" `git push --recurse-submodules`
408
+
409
+
410
* jk/rebase-am-fork-point (2014-07-16) 2 commits
411
(merged to 'next' on 2014-07-22 at 7648293)
412
+ rebase: omit patch-identical commits with --fork-point
@@ -543,21 +428,11 @@ of the repositories listed at
428
Will merge to 'master'.
429
430
546
-* jk/tag-sort (2014-07-17) 2 commits
547
- (merged to 'next' on 2014-07-21 at bc34738)
548
- + tag: support configuring --sort via .gitconfig
549
- + tag: fix --sort tests to use cat<<-\EOF format
550
-
551
- Will merge to 'master'.
552
-
553
-
554
-* ta/config-set (2014-07-21) 3 commits
431
+* ta/config-set (2014-07-24) 2 commits
432
- test-config: add tests for the config_set API
433
- add `config_set` API for caching config-like files
557
- + string-list: add string_list initializer helper function
558
- (this branch is tangled with ta/string-list-init.)
434
560
- Almost there.
435
+ More or less solidified enough to be built other enhancements upon.
436
437
438
* rs/ref-transaction-1 (2014-07-16) 20 commits
@@ -581,7 +456,7 @@ of the repositories listed at
456
- refs.c: make ref_transaction_begin take an err argument
457
- refs.c: update ref_transaction_delete to check for error and return status
458
- refs.c: change ref_transaction_create to do error checking and return status
584
- (this branch is used by rs/ref-transaction.)
459
+ (this branch is used by rs/ref-transaction and rs/ref-transaction-reflog.)
460
461
The second batch of the transactional ref update series.
462
@@ -627,6 +502,7 @@ of the repositories listed at
502
+ git_snpath(): retire and replace with strbuf_git_path()
503
+ path.c: make get_pathname() call sites return const char *
504
+ path.c: make get_pathname() return strbuf instead of static buffer
505
+ (this branch is used by nd/multiple-work-trees-1.)
506
507
A replacement for contrib/workdir/git-new-workdir that does not
508
rely on symbolic links and make sharing of objects and refs safer
@@ -689,7 +565,7 @@ of the repositories listed at
565
- refs.c: add an err argument to delete_ref_loose
566
- wrapper.c: add a new function unlink_or_msg
567
- wrapper.c: simplify warn_if_unremovable
692
- (this branch uses rs/ref-transaction-1.)
568
+ (this branch is used by rs/ref-transaction-reflog; uses rs/ref-transaction-1.)
569
570
571
* jc/test-lazy-prereq (2014-06-13) 1 commit