What's cooking (2014/10 #02)

Junio C Hamano committed Oct 9, 2014 at 14:18 UTC e4654986d316994cd212029ebf7cd391cc3599df
1 file changed +157 -134
whats-cooking.txt
+157 -134
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Oct 2014, #01; Tue, 7)
4 -X-master-at: 325602ce120e7bd7321b9ed409b49b48fd20888e
5 -X-next-at: 4587c01894e202cf47b7eeaf1c9cc40e47b01777
3 +Subject: What's cooking in git.git (Oct 2014, #01; Thu, 9)
4 +X-master-at: 63a45136a329bab550425c3142db6071434d935e
5 +X-next-at: 2852361b1a5901b41556bbe4a1bcd5e386b17e5d
6
7 -What's cooking in git.git (Oct 2014, #01; Tue, 7)
7 +What's cooking in git.git (Oct 2014, #02; Thu, 9)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -16,16 +16,81 @@ of the repositories listed at
16
17 http://git-blame.blogspot.com/p/git-public-repositories.html
18
19 +--------------------------------------------------
20 +[Graduated to "master"]
21 +
22 +* bw/use-write-script-in-tests (2014-09-29) 1 commit
23 + (merged to 'next' on 2014-09-29 at be4056e)
24 + + t/lib-credential: use write_script
25 +
26 +
27 +* jc/push-cert (2014-09-25) 24 commits
28 + (merged to 'next' on 2014-09-25 at 3eb1d69)
29 + + receive-pack::hmac_sha1(): copy the entire SHA-1 hash out
30 + (merged to 'next' on 2014-09-24 at a99f5d8)
31 + + signed push: allow stale nonce in stateless mode
32 + + signed push: teach smart-HTTP to pass "git push --signed" around
33 + + signed push: fortify against replay attacks
34 + + signed push: add "pushee" header to push certificate
35 + + signed push: remove duplicated protocol info
36 + + send-pack: send feature request on push-cert packet
37 + + receive-pack: GPG-validate push certificates
38 + + push: the beginning of "git push --signed"
39 + + pack-protocol doc: typofix for PKT-LINE
40 + + gpg-interface: move parse_signature() to where it should be
41 + + gpg-interface: move parse_gpg_output() to where it should be
42 + + send-pack: clarify that cmds_sent is a boolean
43 + + send-pack: refactor inspecting and resetting status and sending commands
44 + + send-pack: rename "new_refs" to "need_pack_data"
45 + + receive-pack: factor out capability string generation
46 + + send-pack: factor out capability string generation
47 + + send-pack: always send capabilities
48 + + send-pack: refactor decision to send update per ref
49 + + send-pack: move REF_STATUS_REJECT_NODELETE logic a bit higher
50 + + receive-pack: factor out queueing of command
51 + + receive-pack: do not reuse old_sha1[] for other things
52 + + receive-pack: parse feature request a bit earlier
53 + + receive-pack: do not overallocate command structure
54 + (this branch is used by jc/push-cert-hmac-optim.)
55 +
56 + Allow "git push" request to be signed, so that it can be verified and
57 + audited, using the GPG signature of the person who pushed, that the
58 + tips of branches at a public repository really point the commits
59 + the pusher wanted to, without having to "trust" the server.
60 +
61 +
62 +* nd/archive-pathspec (2014-09-22) 1 commit
63 + (merged to 'next' on 2014-09-25 at 8806f93)
64 + + archive: support filtering paths with glob
65 +
66 + "git archive" learned to filter what gets archived with pathspec.
67 +
68 +
69 +* sp/stream-clean-filter (2014-09-22) 7 commits
70 + (merged to 'next' on 2014-09-29 at 47fc36d)
71 + + sha1_file: don't convert off_t to size_t too early to avoid potential die()
72 + + convert: stream from fd to required clean filter to reduce used address space
73 + + copy_fd(): do not close the input file descriptor
74 + + mmap_limit: introduce GIT_MMAP_LIMIT to allow testing expected mmap size
75 + + memory_limit: use git_env_ulong() to parse GIT_ALLOC_LIMIT
76 + + config.c: add git_env_ulong() to parse environment variable
77 + + convert: drop arguments other than 'path' from would_convert_to_git()
78 +
79 + When running a required clean filter, we do not have to mmap the
80 + original before feeding the filter. Instead, stream the file
81 + contents directly to the filter and process its output.
82 +
83 --------------------------------------------------
84 [New Topics]
85
86 * mh/lockfile-stdio (2014-10-01) 3 commits
23 - - commit_packed_refs(): reimplement using fdopen_lock_file()
24 - - dump_marks(): reimplement using fdopen_lock_file()
25 - - fdopen_lock_file(): access a lockfile using stdio
87 + (merged to 'next' on 2014-10-08 at e56cebc)
88 + + commit_packed_refs(): reimplement using fdopen_lock_file()
89 + + dump_marks(): reimplement using fdopen_lock_file()
90 + + fdopen_lock_file(): access a lockfile using stdio
91 (this branch uses mh/lockfile.)
92
28 - Will merge to 'next'.
93 + Will merge to 'master'.
94
95
96 * rs/daemon-fixes (2014-10-01) 3 commits
@@ -42,10 +107,11 @@ of the repositories listed at
107
108
109 * rs/sha1-array-test (2014-10-01) 2 commits
45 - - sha1-lookup: handle duplicates in sha1_pos()
46 - - sha1-array: add test-sha1-array and basic tests
110 + (merged to 'next' on 2014-10-08 at 5960711)
111 + + sha1-lookup: handle duplicates in sha1_pos()
112 + + sha1-array: add test-sha1-array and basic tests
113
48 - Will merge to 'next'.
114 + Will merge to 'master'.
115
116
117 * da/completion-show-signature (2014-10-07) 1 commit
@@ -87,22 +153,44 @@ of the repositories listed at
153
154
155 * rs/mailsplit (2014-10-07) 1 commit
90 - - mailsplit: remove unnecessary unlink(2) call
156 + (merged to 'next' on 2014-10-08 at 58b053e)
157 + + mailsplit: remove unnecessary unlink(2) call
158
92 - Will merge to 'next'.
159 + Will merge to 'master'.
160
161
162 * rs/more-uses-of-skip-prefix (2014-10-07) 1 commit
96 - - use skip_prefix() to avoid more magic numbers
163 + (merged to 'next' on 2014-10-08 at cd153c0)
164 + + use skip_prefix() to avoid more magic numbers
165
98 - Will merge to 'next'.
166 + Will merge to 'master'.
167
168
169 * rs/plug-leak-in-bundle (2014-10-07) 1 commit
102 - - bundle: plug minor memory leak in is_tag_in_date_range()
170 + (merged to 'next' on 2014-10-08 at 5539cd7)
171 + + bundle: plug minor memory leak in is_tag_in_date_range()
172 +
173 + Will merge to 'master'.
174 +
175 +
176 +* bc/asciidoc-pretty-formats-fix (2014-10-08) 1 commit
177 + - Documentation: fix misrender of pretty-formats in Asciidoctor
178
179 Will merge to 'next'.
180
181 +
182 +* da/mergetool-temporary-filename (2014-10-09) 1 commit
183 + - mergetool: use more conservative temporary filenames
184 +
185 +
186 +
187 +* jc/completion-no-chdir (2014-10-09) 1 commit
188 + - completion: use "git -C $there" instead of (cd $there && git ...)
189 +
190 + Seems to break t9902; we may want to use $gmane/258099 or something
191 + like that in the meantime, but on the other hand the topic itself
192 + is not that urgent.
193 +
194 --------------------------------------------------
195 [Stalled]
196
@@ -184,12 +272,6 @@ of the repositories listed at
272 Will be rerolled.
273
274
187 -* rr/mergetool-temporary-filename-tweak (2014-08-21) 1 commit
188 - - Allow the user to change the temporary file name for mergetool
189 -
190 - Needs rerolling (new paragraph in doc seems to be in a wrong place)
191 -
192 -
275 * jk/tag-contains (2014-06-30) 8 commits
276 . perf: add tests for tag --contains
277 . tag: use commit_contains
@@ -329,13 +411,6 @@ of the repositories listed at
411 Will merge to 'master'.
412
413
332 -* bw/use-write-script-in-tests (2014-09-29) 1 commit
333 - (merged to 'next' on 2014-09-29 at be4056e)
334 - + t/lib-credential: use write_script
335 -
336 - Will merge to 'master'.
337 -
338 -
414 * bw/trace-no-inline-getnanotime (2014-09-29) 1 commit
415 - trace.c: do not mark getnanotime() as "inline"
416
@@ -353,7 +428,6 @@ of the repositories listed at
428 * jc/push-cert-hmac-optim (2014-09-25) 2 commits
429 - receive-pack: truncate hmac early and convert only necessary bytes
430 - sha1_to_hex: split out "hex-format n bytes" helper and use it
356 - (this branch uses jc/push-cert.)
431
432 This is "we could do this if we wanted to", not "we measured and it
433 improves performance critical codepath".
@@ -374,15 +448,6 @@ of the repositories listed at
448 Waiting for an Ack.
449
450
377 -* nd/archive-pathspec (2014-09-22) 1 commit
378 - (merged to 'next' on 2014-09-25 at 8806f93)
379 - + archive: support filtering paths with glob
380 -
381 - "git archive" learned to filter what gets archived with pathspec.
382 -
383 - Will merge to 'master'.
384 -
385 -
451 * so/rebase-doc-fork-point (2014-09-29) 1 commit
452 (merged to 'next' on 2014-10-07 at 03d8ed6)
453 + Documentation/git-rebase.txt: document when --fork-point is auto-enabled
@@ -391,9 +456,10 @@ of the repositories listed at
456
457
458 * sk/tag-contains-wo-recursion (2014-09-23) 1 commit
394 - - t7004: give the test a bit more stack space
459 + (merged to 'next' on 2014-10-08 at e425f54)
460 + + t7004: give the test a bit more stack space
461
396 - Waiting for an Ack ($gmane/257448).
462 + Will merge to 'master'.
463
464
465 * da/include-compat-util-first-in-c (2014-09-15) 1 commit
@@ -406,49 +472,50 @@ of the repositories listed at
472
473
474 * mh/lockfile (2014-10-01) 38 commits
409 - - lockfile.h: extract new header file for the functions in lockfile.c
410 - - hold_locked_index(): move from lockfile.c to read-cache.c
411 - - hold_lock_file_for_append(): restore errno before returning
412 - - get_locked_file_path(): new function
413 - - lockfile.c: rename static functions
414 - - lockfile: rename LOCK_NODEREF to LOCK_NO_DEREF
415 - - commit_lock_file_to(): refactor a helper out of commit_lock_file()
416 - - trim_last_path_component(): replace last_path_elm()
417 - - resolve_symlink(): take a strbuf parameter
418 - - resolve_symlink(): use a strbuf for internal scratch space
419 - - lockfile: change lock_file::filename into a strbuf
420 - - commit_lock_file(): use a strbuf to manage temporary space
421 - - try_merge_strategy(): use a statically-allocated lock_file object
422 - - try_merge_strategy(): remove redundant lock_file allocation
423 - - struct lock_file: declare some fields volatile
424 - - lockfile: avoid transitory invalid states
425 - - git_config_set_multivar_in_file(): avoid call to rollback_lock_file()
426 - - dump_marks(): remove a redundant call to rollback_lock_file()
427 - - api-lockfile: document edge cases
428 - - commit_lock_file(): rollback lock file on failure to rename
429 - - close_lock_file(): if close fails, roll back
430 - - commit_lock_file(): die() if called for unlocked lockfile object
431 - - commit_lock_file(): inline temporary variable
432 - - remove_lock_file(): call rollback_lock_file()
433 - - lock_file(): exit early if lockfile cannot be opened
434 - - prepare_index(): declare return value to be (const char *)
435 - - delete_ref_loose(): don't muck around in the lock_file's filename
436 - - cache.h: define constants LOCK_SUFFIX and LOCK_SUFFIX_LEN
437 - - lockfile.c: document the various states of lock_file objects
438 - - lock_file(): always initialize and register lock_file object
439 - - hold_lock_file_for_append(): release lock on errors
440 - - lockfile: unlock file if lockfile permissions cannot be adjusted
441 - - rollback_lock_file(): set fd to -1
442 - - rollback_lock_file(): exit early if lock is not active
443 - - rollback_lock_file(): do not clear filename redundantly
444 - - close_lock_file(): exit (successfully) if file is already closed
445 - - api-lockfile: revise and expand the documentation
446 - - unable_to_lock_die(): rename function from unable_to_lock_index_die()
475 + (merged to 'next' on 2014-10-08 at 39cb6da)
476 + + lockfile.h: extract new header file for the functions in lockfile.c
477 + + hold_locked_index(): move from lockfile.c to read-cache.c
478 + + hold_lock_file_for_append(): restore errno before returning
479 + + get_locked_file_path(): new function
480 + + lockfile.c: rename static functions
481 + + lockfile: rename LOCK_NODEREF to LOCK_NO_DEREF
482 + + commit_lock_file_to(): refactor a helper out of commit_lock_file()
483 + + trim_last_path_component(): replace last_path_elm()
484 + + resolve_symlink(): take a strbuf parameter
485 + + resolve_symlink(): use a strbuf for internal scratch space
486 + + lockfile: change lock_file::filename into a strbuf
487 + + commit_lock_file(): use a strbuf to manage temporary space
488 + + try_merge_strategy(): use a statically-allocated lock_file object
489 + + try_merge_strategy(): remove redundant lock_file allocation
490 + + struct lock_file: declare some fields volatile
491 + + lockfile: avoid transitory invalid states
492 + + git_config_set_multivar_in_file(): avoid call to rollback_lock_file()
493 + + dump_marks(): remove a redundant call to rollback_lock_file()
494 + + api-lockfile: document edge cases
495 + + commit_lock_file(): rollback lock file on failure to rename
496 + + close_lock_file(): if close fails, roll back
497 + + commit_lock_file(): die() if called for unlocked lockfile object
498 + + commit_lock_file(): inline temporary variable
499 + + remove_lock_file(): call rollback_lock_file()
500 + + lock_file(): exit early if lockfile cannot be opened
501 + + prepare_index(): declare return value to be (const char *)
502 + + delete_ref_loose(): don't muck around in the lock_file's filename
503 + + cache.h: define constants LOCK_SUFFIX and LOCK_SUFFIX_LEN
504 + + lockfile.c: document the various states of lock_file objects
505 + + lock_file(): always initialize and register lock_file object
506 + + hold_lock_file_for_append(): release lock on errors
507 + + lockfile: unlock file if lockfile permissions cannot be adjusted
508 + + rollback_lock_file(): set fd to -1
509 + + rollback_lock_file(): exit early if lock is not active
510 + + rollback_lock_file(): do not clear filename redundantly
511 + + close_lock_file(): exit (successfully) if file is already closed
512 + + api-lockfile: revise and expand the documentation
513 + + unable_to_lock_die(): rename function from unable_to_lock_index_die()
514 (this branch is used by mh/lockfile-stdio.)
515
516 The lockfile API and its users have been cleaned up.
517
451 - Will merge to 'next'.
518 + Will merge to 'master'.
519
520
521 * nd/multiple-work-trees (2014-09-27) 32 commits
@@ -513,60 +580,6 @@ of the repositories listed at
580 that is very much welcomed.
581
582
516 -* sp/stream-clean-filter (2014-09-22) 7 commits
517 - (merged to 'next' on 2014-09-29 at 47fc36d)
518 - + sha1_file: don't convert off_t to size_t too early to avoid potential die()
519 - + convert: stream from fd to required clean filter to reduce used address space
520 - + copy_fd(): do not close the input file descriptor
521 - + mmap_limit: introduce GIT_MMAP_LIMIT to allow testing expected mmap size
522 - + memory_limit: use git_env_ulong() to parse GIT_ALLOC_LIMIT
523 - + config.c: add git_env_ulong() to parse environment variable
524 - + convert: drop arguments other than 'path' from would_convert_to_git()
525 -
526 - When running a required clean filter, we do not have to mmap the
527 - original before feeding the filter. Instead, stream the file
528 - contents directly to the filter and process its output.
529 -
530 - Will merge to 'master'.
531 -
532 -
533 -* jc/push-cert (2014-09-25) 24 commits
534 - (merged to 'next' on 2014-09-25 at 3eb1d69)
535 - + receive-pack::hmac_sha1(): copy the entire SHA-1 hash out
536 - (merged to 'next' on 2014-09-24 at a99f5d8)
537 - + signed push: allow stale nonce in stateless mode
538 - + signed push: teach smart-HTTP to pass "git push --signed" around
539 - + signed push: fortify against replay attacks
540 - + signed push: add "pushee" header to push certificate
541 - + signed push: remove duplicated protocol info
542 - + send-pack: send feature request on push-cert packet
543 - + receive-pack: GPG-validate push certificates
544 - + push: the beginning of "git push --signed"
545 - + pack-protocol doc: typofix for PKT-LINE
546 - + gpg-interface: move parse_signature() to where it should be
547 - + gpg-interface: move parse_gpg_output() to where it should be
548 - + send-pack: clarify that cmds_sent is a boolean
549 - + send-pack: refactor inspecting and resetting status and sending commands
550 - + send-pack: rename "new_refs" to "need_pack_data"
551 - + receive-pack: factor out capability string generation
552 - + send-pack: factor out capability string generation
553 - + send-pack: always send capabilities
554 - + send-pack: refactor decision to send update per ref
555 - + send-pack: move REF_STATUS_REJECT_NODELETE logic a bit higher
556 - + receive-pack: factor out queueing of command
557 - + receive-pack: do not reuse old_sha1[] for other things
558 - + receive-pack: parse feature request a bit earlier
559 - + receive-pack: do not overallocate command structure
560 - (this branch is used by jc/push-cert-hmac-optim.)
561 -
562 - Allow "git push" request to be signed, so that it can be verified and
563 - audited, using the GPG signature of the person who pushed, that the
564 - tips of branches at a public repository really point the commits
565 - the pusher wanted to, without having to "trust" the server.
566 -
567 - Will merge to 'master'.
568 -
569 -
583 * mt/patch-id-stable (2014-06-10) 1 commit
584 - patch-id: change default to stable
585
@@ -578,3 +591,13 @@ of the repositories listed at
591 Nobody seems to be jumping up & down requesting this last step,
592 which makes the result somewhat backward incompatible.
593 Will perhaps drop.
594 +
595 +--------------------------------------------------
596 +[Discarded]
597 +
598 +* rr/mergetool-temporary-filename-tweak (2014-08-21) 1 commit
599 + . Allow the user to change the temporary file name for mergetool
600 +
601 + Needed rerolling (new paragraph in doc seems to be in a wrong place)
602 + for quite some time but without any activity.
603 +