What's cooking (2014/09 #07)
[git.git] / whats-cooking.txt
blobf30da16c5825a970b762f3fd0625d19c2de1b312
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 Subject: What's cooking in git.git (Sep 2014, #07; Fri, 26)
4 X-master-at: d29e9c89dbbf0876145dc88615b99308cab5f187
5 X-next-at: 85a663a958ab88a0f5f6e875ec30a4bd3f14a9ad
7 What's cooking in git.git (Sep 2014, #07; Fri, 26)
8 --------------------------------------------------
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'.
14 You can find the changes described here in the integration branches
15 of the repositories listed at
17     http://git-blame.blogspot.com/p/git-public-repositories.html
19 --------------------------------------------------
20 [Graduated to "master"]
22 * jc/hash-object (2014-09-11) 3 commits
23   (merged to 'next' on 2014-09-19 at ea6ac62)
24  + hash-object: add --literally option
25  + hash-object: pass 'write_object' as a flag
26  + hash-object: reduce file-scope statics
27  (this branch is used by jc/hash-object-fsck-tag.)
29  "hash-object" learned a new "--literally" option to hash any random
30  garbage into a loose object, to allow us to create a test data for
31  mechanisms to catch corrupt objects.
34 * jc/hash-object-fsck-tag (2014-09-12) 2 commits
35   (merged to 'next' on 2014-09-19 at f14a7fe)
36  + t1450: make sure fsck detects a malformed tagger line
37  + Merge branch 'js/fsck-tag-validation' into HEAD
38  (this branch uses jc/hash-object and js/fsck-tag-validation.)
40  Using "hash-object --literally", test one of the new breakages
41  js/fsck-tag-validation topic teaches "fsck" to catch is caught.
44 * jc/ignore-sigpipe-while-running-hooks (2014-09-16) 1 commit
45   (merged to 'next' on 2014-09-19 at 7abf293)
46  + receive-pack: allow hooks to ignore its standard input stream
48  pre- and post-receive hooks are no longer required to read all
49  their inputs.
52 * jk/branch-verbose-merged (2014-09-18) 1 commit
53   (merged to 'next' on 2014-09-23 at d940d15)
54  + branch: clean up commit flags after merge-filter walk
56  The "--verbose" option no longer breaks "git branch --merged $it".
59 * jk/close-stderr-of-credential-cache-deamon (2014-09-16) 1 commit
60   (merged to 'next' on 2014-09-19 at 51ba3be)
61  + credential-cache: close stderr in daemon process
63  Plug fd leaks.
66 * jk/faster-name-conflicts (2014-09-12) 1 commit
67   (merged to 'next' on 2014-09-19 at 34d2840)
68  + refs: speed up is_refname_available
70  Optimize the check to see if a ref $F can be created by making sure
71  no existing ref has $F/ as its prefix, which especially matters in
72  a repository with a large number of existing refs.
75 * jk/prune-packed-server-info (2014-09-15) 4 commits
76   (merged to 'next' on 2014-09-19 at 5e6c398)
77  + repack: call prune_packed_objects() and update_server_info() directly
78  + server-info: clean up after writing info/packs
79  + make update-server-info more robust
80  + prune-packed: fix minor memory leak
82  Code cleanup.
85 * jk/write-packed-refs-via-stdio (2014-09-10) 1 commit
86   (merged to 'next' on 2014-09-19 at f1e94fb)
87  + refs: write packed_refs file using stdio
89  Optimize the code path to write out the packed-refs file, which
90  especially matters in a repository with a large number of refs.
93 * js/fsck-tag-validation (2014-09-12) 6 commits
94   (merged to 'next' on 2014-09-19 at 4a62182)
95  + Make sure that index-pack --strict checks tag objects
96  + Add regression tests for stricter tag fsck'ing
97  + fsck: check tag objects' headers
98  + Make sure fsck_commit_buffer() does not run out of the buffer
99  + fsck_object(): allow passing object data separately from the object itself
100  + Refactor type_from_string() to allow continuing after detecting an error
101  (this branch is used by jc/hash-object-fsck-tag.)
103  Teach "git fsck" to inspect the contents of annotated tag objects.
106 * rs/realloc-array (2014-09-18) 2 commits
107   (merged to 'next' on 2014-09-23 at a5bb3a6)
108  + use REALLOC_ARRAY for changing the allocation size of arrays
109  + add macro REALLOC_ARRAY
111  Code cleanup.
114 * sb/help-unknown-command-sort-fix (2014-09-18) 1 commit
115   (merged to 'next' on 2014-09-23 at 6ab29ed)
116  + help: fix the size passed to qsort
118  Code cleanup.
120 --------------------------------------------------
121 [New Topics]
123 * jc/push-cert-hmac-optim (2014-09-25) 2 commits
124  - receive-pack: truncate hmac early and convert only necessary bytes
125  - sha1_to_hex: split out "hex-format n bytes" helper and use it
126  (this branch uses jc/push-cert.)
128  This is "we could do this if we wanted to", not "we measured and it
129  improves performance critical codepath".
131  Will perhaps drop.
134 * je/quiltimport-no-fuzz (2014-09-26) 2 commits
135  - git-quiltimport: flip the default not to allow fuzz
136  - git-quiltimport.sh: allow declining fuzz with --exact option
138  "quiltimport" drove "git apply" always with -C1 option to reduce
139  context of the patch in order to give more chance to somewhat stale
140  patches to apply.  Add an "--exact" option to disable, and also
141  "-C$n" option to customize this behaviour.  The top patch
142  optionally flips the default to "--exact".
144  Waiting for an Ack.
146 --------------------------------------------------
147 [Stalled]
149 * rs/ref-transaction (2014-09-12) 20 commits
150  . remote rm/prune: print a message when writing packed-refs fails
151  . ref_transaction_commit: bail out on failure to remove a ref
152  . lockfile: remove unable_to_lock_error
153  . refs.c: do not permit err == NULL
154  . for-each-ref.c: improve message before aborting on broken ref
155  . refs.c: fix handling of badly named refs
156  . branch -d: avoid repeated symref resolution
157  . refs.c: change resolve_ref_unsafe reading argument to be a flags field
158  . refs.c: make write_ref_sha1 static
159  . fetch.c: change s_update_ref to use a ref transaction
160  . refs.c: ref_transaction_commit: distinguish name conflicts from other errors
161  . refs.c: pass a skip list to name_conflict_fn
162  . refs.c: call lock_ref_sha1_basic directly from commit
163  . refs.c: move the check for valid refname to lock_ref_sha1_basic
164  . rename_ref: don't ask read_ref_full where the ref came from
165  . refs.c: pass the ref log message to _create/delete/update instead of _commit
166  . refs.c: add an err argument to delete_ref_loose
167  . wrapper.c: add a new function unlink_or_msg
168  . wrapper.c: remove/unlink_or_warn: simplify, treat ENOENT as success
169  . mv test: recreate mod/ directory instead of relying on stale copy
171  Rerolled and was asked to wait.  Seems to break HEAD reflog
172  upon "checkout HEAD^0".
174  Expecting another reroll.
177 * tr/remerge-diff (2014-09-08) 8 commits
178  - log --remerge-diff: show what the conflict resolution changed
179  - name-hash: allow dir hashing even when !ignore_case
180  - merge-recursive: allow storing conflict hunks in index
181  - merge_diff_mode: fold all merge diff variants into an enum
182  - combine-diff: do not pass revs->dense_combined_merges redundantly
183  - merge-recursive: -Xindex-only to leave worktree unchanged
184  - merge-recursive: internal flag to avoid touching the worktree
185  - merge-recursive: remove dead conditional in update_stages()
187  "log -p" output learns a new way to let users inspect a merge
188  commit by showing the differences between the automerged result
189  with conflicts the person who recorded the merge would have seen
190  and the final conflict resolution that was recorded in the merge.
192  Waiting for a reroll ($gmane/256591).
195 * hv/submodule-config (2014-06-30) 4 commits
196  - do not die on error of parsing fetchrecursesubmodules option
197  - use new config API for worktree configurations of submodules
198  - extract functions for submodule config set and lookup
199  - implement submodule config cache for lookup of submodule names
201  Kicked back to 'pu' per request ($gmane/255610).
204 * jt/timer-settime (2014-08-29) 6 commits
205  - use timer_settime() for new platforms
206  - autoconf: check for timer_settime()
207  - autoconf: check for struct itimerspec
208  - autoconf: check for struct sigevent
209  - autoconf: check for struct timespec
210  - autoconf: check for timer_t
211  (this branch uses jt/itimer-autoconf.)
213  Reviewed, discussed and wanting for a reroll.
216 * jk/pack-bitmap (2014-08-04) 1 commit
217  - pack-bitmap: do not use gcc packed attribute
219  Hold, waiting for Karsten's replacement.
222 * cb/mergetool-difftool (2014-07-21) 2 commits
223  - difftool: don't assume that default sh is sane
224  - mergetool: don't require a work tree for --tool-help
226  Update the way the "difftool --help" shows the help message that is
227  shared with the "mergetool" to reduce one shell dependency.
229  Will be rerolled.
232 * rr/mergetool-temporary-filename-tweak (2014-08-21) 1 commit
233  - Allow the user to change the temporary file name for mergetool
235  Needs rerolling (new paragraph in doc seems to be in a wrong place)
238 * jk/tag-contains (2014-06-30) 8 commits
239  . perf: add tests for tag --contains
240  . tag: use commit_contains
241  . commit: provide a fast multi-tip contains function
242  . string-list: add pos to iterator callback
243  . add functions for memory-efficient bitmaps
244  . paint_down_to_common: use prio_queue
245  . tag: factor out decision to stream tags
246  . tag: allow --sort with -n
248  Expecting a reroll.
251 * ab/add-interactive-show-diff-func-name (2014-05-12) 2 commits
252  - SQUASH??? git-add--interactive: Preserve diff heading when splitting hunks
253  - git-add--interactive: Preserve diff heading when splitting hunks
255  Waiting for a reroll.
258 * jn/gitweb-utf8-in-links (2014-05-27) 1 commit
259  - gitweb: Harden UTF-8 handling in generated links
261  $gmane/250758?
264 * rh/prompt-tests (2014-06-05) 11 commits
265  - t9904: new __git_ps1 tests for Zsh
266  - test-lib: make it possible to override how test code is eval'd
267  - lib-prompt-tests.sh: add variable for string that encodes percent in PS1
268  - lib-prompt-tests.sh: put all tests inside a function
269  - t9903: move prompt tests to a new lib-prompt-tests.sh file
270  - t9903: move PS1 color code variable definitions to lib-bash.sh
271  - t9903: include "Bash" in test names via new $shellname var
272  - t9903: run pc mode tests again with PS1 expansion disabled
273  - t9903: move test name prefix to a separate variable
274  - t9903: put the Bash pc mode prompt test cases in a function
275  - t9903: remove Zsh test from the suite of Bash prompt tests
277  Expecting a reroll to limit the damage to test_eval_; also reported
278  to be broken with older zsh that are still in the field ($gmane/251231).
281 * ss/userdiff-update-csharp-java (2014-06-02) 2 commits
282  - userdiff: support Java try keyword
283  - userdiff: support C# async methods and correct C# keywords
285  Reviews sent; waiting for a response.
288 * bg/rebase-off-of-previous-branch (2014-04-16) 1 commit
289  - git-rebase: print name of rev when using shorthand
291  Teach "git rebase -" to report the concrete name of the branch
292  (i.e. the previous one).
294  But it stops short and does not do the same for "git rebase @{-1}".
295  Expecting a reroll.
298 * jk/makefile (2014-02-05) 16 commits
299  . FIXUP
300  . move LESS/LV pager environment to Makefile
301  . Makefile: teach scripts to include make variables
302  . FIXUP
303  . Makefile: auto-build C strings from make variables
304  . Makefile: drop *_SQ variables
305  . FIXUP
306  . Makefile: add c-quote helper function
307  . Makefile: introduce sq function for shell-quoting
308  . Makefile: always create files via make-var
309  . Makefile: store GIT-* sentinel files in MAKE/
310  . Makefile: prefer printf to echo for GIT-*
311  . Makefile: use tempfile/mv strategy for GIT-*
312  . Makefile: introduce make-var helper function
313  . Makefile: fix git-instaweb dependency on gitweb
314  . Makefile: drop USE_GETTEXT_SCHEME from GIT-CFLAGS
316  Simplify the Makefile rules and macros that exist primarily for
317  quoting purposes, and make it easier to robustly express the
318  dependency rules.
320  Expecting a reroll.
323 * po/everyday-doc (2014-01-27) 1 commit
324  - Make 'git help everyday' work
326  This may make the said command to emit something, but the source is
327  not meant to be formatted into a manual pages to begin with, and
328  also its contents are a bit stale.  It may be a good first step in
329  the right direction, but needs more work to at least get the
330  mark-up right before public consumption.
332  Waiting for a reroll (thread ending at $gmane/254746)
335 * rb/merge-prepare-commit-msg-hook (2014-01-10) 4 commits
336  - merge: drop unused arg from abort_commit method signature
337  - merge: make prepare_to_commit responsible for write_merge_state
338  - t7505: ensure cleanup after hook blocks merge
339  - t7505: add missing &&
341  Expose more merge states (e.g. $GIT_DIR/MERGE_MODE) to hooks that
342  run during "git merge".  The log message stresses too much on one
343  hook, prepare-commit-msg, but it would equally apply to other hooks
344  like post-merge, I think.
346  Waiting for a reroll.
349 * jc/graph-post-root-gap (2013-12-30) 3 commits
350  - WIP: document what we want at the end
351  - graph: remove unused code a bit
352  - graph: stuff the current commit into graph->columns[]
354  This was primarily a RFH ($gmane/239580).
357 * tg/perf-lib-test-perf-cleanup (2013-09-19) 2 commits
358  - perf-lib: add test_perf_cleanup target
359  - perf-lib: split starting the test from the execution
361  Add test_perf_cleanup shell function to the perf suite, that allows
362  the script writers to define a test with a clean-up action.
364  Will hold.
367 * jc/show-branch (2014-03-24) 5 commits
368  - show-branch: use commit slab to represent bitflags of arbitrary width
369  - show-branch.c: remove "all_mask"
370  - show-branch.c: abstract out "flags" operation
371  - show-branch.c: lift all_mask/all_revs to a global static
372  - show-branch.c: update comment style
374  Waiting for the final step to lift the hard-limit before sending it out.
376 --------------------------------------------------
377 [Cooking]
379 * nd/archive-pathspec (2014-09-22) 1 commit
380   (merged to 'next' on 2014-09-25 at 8806f93)
381  + archive: support filtering paths with glob
383  "git archive" learned to filter what gets archived with pathspec.
385  Will merge to 'master'.
388 * rs/graph-simplify (2014-09-22) 1 commit
389   (merged to 'next' on 2014-09-23 at 72969e2)
390  + graph: simplify graph_padding_line()
392  Will merge to 'master'.
395 * rs/remote-simplify (2014-09-22) 1 commit
396   (merged to 'next' on 2014-09-23 at 176e316)
397  + remote: simplify match_name_with_pattern() using strbuf
399  Will merge to 'master'.
402 * sb/merge-recursive-copy-paste-fix (2014-09-23) 2 commits
403   (merged to 'next' on 2014-09-24 at b8dfbef)
404  + merge-recursive: remove stale commented debugging code
405  + merge-recursive: fix copy-paste mistake
407  "git merge-recursive" had a small bug that could have made it
408  mishandle "one side deleted, the other side did not touch it" in a
409  rare corner case, where the other side actually did touch to cause
410  the blob object names to be different but both blobs before and
411  after the change normalize to the same (e.g. correcting mistake to
412  check in a blob with CRLF line endings by replacing it with another
413  blob that records the same contents with LF line endings).
415  Will merge to 'master'.
418 * sb/t6031-typofix (2014-09-22) 1 commit
419   (merged to 'next' on 2014-09-23 at aec57a9)
420  + t6031-test-merge-recursive: do not forget to add file to be committed
422  Will merge to 'master'.
425 * sb/t9300-typofix (2014-09-22) 1 commit
426   (merged to 'next' on 2014-09-23 at aa519bd)
427  + t9300-fast-import: fix typo in test description
429  Will merge to 'master'.
432 * so/rebase-doc-fork-point (2014-09-22) 1 commit
433  - Documentation/git-rebase.txt: document when --fork-point is auto-enabled
435  Expecting a reroll ($gmane/257378).
438 * sk/tag-contains-wo-recursion (2014-09-23) 1 commit
439  - t7004: give the test a bit more stack space
441  Waiting for an Ack ($gmane/257448).
444 * jt/itimer-autoconf (2014-08-29) 3 commits
445   (merged to 'next' on 2014-09-25 at efd65ba)
446  + autoconf: check for setitimer()
447  + autoconf: check for struct itimerval
448  + git-compat-util.h: add missing semicolon after struct itimerval
449  (this branch is used by jt/timer-settime.)
451  setitmer(2) and related API elements can be configured from
452  Makefile but autoconf did not know about it.
454  Will merge to 'master'.
457 * da/include-compat-util-first-in-c (2014-09-15) 4 commits
458  - SQUASH???
459  - check-headers: add header usage checks for .c files
460  - Makefile: add check-headers target
461  - cleanups: ensure that git-compat-util.h is included first
463  So... what is happening to this topic?  I think the bottom one is a
464  reasonable clean-up without too much churn, but I am not sure about
465  the rest.
468 * da/rev-parse-verify-quiet (2014-09-19) 4 commits
469   (merged to 'next' on 2014-09-23 at 5ed184a)
470  + stash: prefer --quiet over shell redirection of the standard error stream
471  + refs: make rev-parse --quiet actually quiet
472  + t1503: use test_must_be_empty
473  + Documentation: a note about stdout for git rev-parse --verify --quiet
475  "rev-parse --verify --quiet $name" is meant to quietly exit with a
476  non-zero status when $name is not a valid object name, but still
477  gave error messages in some cases.
479  Will merge to 'master'.
482 * hj/pretty-naked-decoration (2014-09-18) 1 commit
483   (merged to 'next' on 2014-09-23 at fb699c4)
484  + pretty: add %D format specifier
486  The pretty-format specifier "%d", which expanded to " (tagname)"
487  for a tagged commit, gained a cousin "%D" that just gives the
488  "tagname" without frills.
490  Will merge to 'master'.
493 * jk/mbox-from-line (2014-09-22) 2 commits
494   (merged to 'next' on 2014-09-23 at 506b89b)
495  + mailinfo: work around -Wstring-plus-int warning
496   (merged to 'next' on 2014-09-19 at 314af77)
497  + mailinfo: make ">From" in-body header check more robust
499  Some MUAs mangled a line in a message that begins with "From " to
500  ">From " when writing to a mailbox file and feeding such an input
501  to "git am" used to lose such a line.
503  Will merge to 'master'.
506 * pr/use-default-sigpipe-setting (2014-09-22) 2 commits
507   (merged to 'next' on 2014-09-24 at 2d678ed)
508  + mingw.h: add dummy functions for sigset_t operations
509  + unblock and unignore SIGPIPE
511  We used to get confused when a process called us with SIGPIPE
512  ignored; we do want to die with SIGPIPE when the output is not
513  read by default, and do ignore the signal when appropriate.
515  Will merge to 'master'.
518 * mh/lockfile (2014-09-26) 38 commits
519  - hold_locked_index(): move from lockfile.c to read-cache.c
520  - hold_lock_file_for_append(): restore errno before returning
521  - get_locked_file_path(): new function
522  - lockfile.c: rename static functions
523  - lockfile: rename LOCK_NODEREF to LOCK_NO_DEREF
524  - commit_lock_file_to(): refactor a helper out of commit_lock_file()
525  - trim_last_path_component(): replace last_path_elm()
526  - resolve_symlink(): take a strbuf parameter
527  - resolve_symlink(): use a strbuf for internal scratch space
528  - lockfile: change lock_file::filename into a strbuf
529  - commit_lock_file(): use a strbuf to manage temporary space
530  - try_merge_strategy(): use a statically-allocated lock_file object
531  - try_merge_strategy(): remove redundant lock_file allocation
532  - struct lock_file: declare some fields volatile
533  - lockfile: avoid transitory invalid states
534  - git_config_set_multivar_in_file(): avoid call to rollback_lock_file()
535  - dump_marks(): remove a redundant call to rollback_lock_file()
536  - api-lockfile: document edge cases
537  - commit_lock_file(): rollback lock file on failure to rename
538  - close_lock_file(): if close fails, roll back
539  - commit_lock_file(): die() if called for unlocked lockfile object
540  - commit_lock_file(): inline temporary variable
541  - remove_lock_file(): call rollback_lock_file()
542  - lock_file(): exit early if lockfile cannot be opened
543  - write_packed_entry_fn(): convert cb_data into a (const int *)
544  - prepare_index(): declare return value to be (const char *)
545  - delete_ref_loose(): don't muck around in the lock_file's filename
546  - cache.h: define constants LOCK_SUFFIX and LOCK_SUFFIX_LEN
547  - lockfile.c: document the various states of lock_file objects
548  - lock_file(): always initialize and register lock_file object
549  - hold_lock_file_for_append(): release lock on errors
550  - lockfile: unlock file if lockfile permissions cannot be adjusted
551  - rollback_lock_file(): set fd to -1
552  - rollback_lock_file(): exit early if lock is not active
553  - rollback_lock_file(): do not clear filename redundantly
554  - close_lock_file(): exit (successfully) if file is already closed
555  - api-lockfile: revise and expand the documentation
556  - unable_to_lock_die(): rename function from unable_to_lock_index_die()
558  Rerolled, reviews in progress.
560  Interacts with jk/write-packed-refs-via-stdio topic that has recently
561  graduated in an unfortunate way.
564 * nd/multiple-work-trees (2014-09-16) 32 commits
565  - t2025: add a test to make sure grafts is working from a linked checkout
566  - checkout: don't require a work tree when checking out into a new one
567  - git_path(): keep "info/sparse-checkout" per work-tree
568  - count-objects: report unused files in $GIT_DIR/worktrees/...
569  - gc: support prune --worktrees
570  - gc: factor out gc.pruneexpire parsing code
571  - gc: style change -- no SP before closing parenthesis
572  - checkout: clean up half-prepared directories in --to mode
573  - checkout: reject if the branch is already checked out elsewhere
574  - prune: strategies for linked checkouts
575  - checkout: support checking out into a new working directory
576  - use new wrapper write_file() for simple file writing
577  - wrapper.c: wrapper to open a file, fprintf then close
578  - setup.c: support multi-checkout repo setup
579  - setup.c: detect $GIT_COMMON_DIR check_repository_format_gently()
580  - setup.c: convert check_repository_format_gently to use strbuf
581  - setup.c: detect $GIT_COMMON_DIR in is_git_directory()
582  - setup.c: convert is_git_directory() to use strbuf
583  - git-stash: avoid hardcoding $GIT_DIR/logs/....
584  - *.sh: avoid hardcoding $GIT_DIR/hooks/...
585  - git-sh-setup.sh: use rev-parse --git-path to get $GIT_DIR/objects
586  - $GIT_COMMON_DIR: a new environment variable
587  - commit: use SEQ_DIR instead of hardcoding "sequencer"
588  - fast-import: use git_path() for accessing .git dir instead of get_git_dir()
589  - reflog: avoid constructing .lock path with git_path
590  - *.sh: respect $GIT_INDEX_FILE
591  - git_path(): be aware of file relocation in $GIT_DIR
592  - path.c: group git_path(), git_pathdup() and strbuf_git_path() together
593  - path.c: rename vsnpath() to do_git_path()
594  - git_snpath(): retire and replace with strbuf_git_path()
595  - path.c: make get_pathname() call sites return const char *
596  - path.c: make get_pathname() return strbuf instead of static buffer
598  A replacement for contrib/workdir/git-new-workdir that does not
599  rely on symbolic links and make sharing of objects and refs safer
600  by making the borrowee and borrowers aware of each other.
602  Waiting for a reroll ($gmane/257496).
605 * cc/interpret-trailers (2014-09-22) 11 commits
606  - Documentation: add documentation for 'git interpret-trailers'
607  - trailer: add tests for commands in config file
608  - trailer: execute command from 'trailer.<name>.command'
609  - trailer: add tests for "git interpret-trailers"
610  - trailer: add interpret-trailers command
611  - trailer: put all the processing together and print
612  - trailer: parse trailers from file or stdin
613  - trailer: process command line trailer arguments
614  - trailer: read and process config information
615  - trailer: process trailers from input message and arguments
616  - trailer: add data structures and basic functions
618  A new filter to programatically edit the tail end of the commit log
619  messages.
621  Discussion on the topic with Michael Tsirkin who wants to utilize
622  this machinery is going on.  Finally a real functionality review
623  that is very much welcomed.
626 * sp/stream-clean-filter (2014-09-22) 7 commits
627  - sha1_file: don't convert off_t to size_t too early to avoid potential die()
628  - convert: stream from fd to required clean filter to reduce used address space
629  - copy_fd(): do not close the input file descriptor
630  - mmap_limit: introduce GIT_MMAP_LIMIT to allow testing expected mmap size
631  - memory_limit: use git_env_ulong() to parse GIT_ALLOC_LIMIT
632  - config.c: add git_env_ulong() to parse environment variable
633  - convert: drop arguments other than 'path' from would_convert_to_git()
635  Will merge to 'next'.
638 * jc/push-cert (2014-09-25) 24 commits
639   (merged to 'next' on 2014-09-25 at 3eb1d69)
640  + receive-pack::hmac_sha1(): copy the entire SHA-1 hash out
641   (merged to 'next' on 2014-09-24 at a99f5d8)
642  + signed push: allow stale nonce in stateless mode
643  + signed push: teach smart-HTTP to pass "git push --signed" around
644  + signed push: fortify against replay attacks
645  + signed push: add "pushee" header to push certificate
646  + signed push: remove duplicated protocol info
647  + send-pack: send feature request on push-cert packet
648  + receive-pack: GPG-validate push certificates
649  + push: the beginning of "git push --signed"
650  + pack-protocol doc: typofix for PKT-LINE
651  + gpg-interface: move parse_signature() to where it should be
652  + gpg-interface: move parse_gpg_output() to where it should be
653  + send-pack: clarify that cmds_sent is a boolean
654  + send-pack: refactor inspecting and resetting status and sending commands
655  + send-pack: rename "new_refs" to "need_pack_data"
656  + receive-pack: factor out capability string generation
657  + send-pack: factor out capability string generation
658  + send-pack: always send capabilities
659  + send-pack: refactor decision to send update per ref
660  + send-pack: move REF_STATUS_REJECT_NODELETE logic a bit higher
661  + receive-pack: factor out queueing of command
662  + receive-pack: do not reuse old_sha1[] for other things
663  + receive-pack: parse feature request a bit earlier
664  + receive-pack: do not overallocate command structure
665  (this branch is used by jc/push-cert-hmac-optim.)
667  Allow "git push" request to be signed, so that it can be verified and
668  audited, using the GPG signature of the person who pushed, that the
669  tips of branches at a public repository really point the commits
670  the pusher wanted to, without having to "trust" the server.
672  Will merge to 'master'.
675 * jc/test-lazy-prereq (2014-06-13) 1 commit
676   (merged to 'next' on 2014-09-25 at ed479f3)
677  + tests: drop GIT_*_TIMING_TESTS environment variable support
679  Test-script clean-up.
681  Will merge to 'master'.
684 * mt/patch-id-stable (2014-06-10) 1 commit
685  - patch-id: change default to stable
687  Teaches "git patch-id" to compute the patch ID that does not change
688  when the files in a single patch is reordered. As this new algorithm
689  is backward incompatible, the last bit to flip it to be the default
690  is left out of 'master' for now.
692  Nobody seems to be jumping up & down requesting this last step,
693  which makes the result somewhat backward incompatible.
694  Will perhaps drop.