1 To: git@vger.kernel.org
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
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
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
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
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
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
120 --------------------------------------------------
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".
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".
146 --------------------------------------------------
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.
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
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
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}".
298 * jk/makefile (2014-02-05) 16 commits
300 . move LESS/LV pager environment to Makefile
301 . Makefile: teach scripts to include make variables
303 . Makefile: auto-build C strings from make variables
304 . Makefile: drop *_SQ variables
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
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.
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 --------------------------------------------------
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
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
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
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.