1 To: git@vger.kernel.org
3 Subject: What's cooking in git.git (Feb 2015, #01; Tue, 3)
4 X-master-at: 0d1c285af265459006c012aa4415175c2db961ad
5 X-next-at: 303d43c5ff509a8324ff30a824663dd552b0d231
7 What's cooking in git.git (Feb 2015, #01; Tue, 3)
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 We will see 2.3 final later this week, hopefully.
16 You can find the changes described here in the integration branches
17 of the repositories listed at
19 http://git-blame.blogspot.com/p/git-public-repositories.html
21 --------------------------------------------------
24 * jc/diff-format-doc (2015-01-28) 1 commit
25 - diff-format doc: a score can follow M for rewrite
27 The documentation incorrectly said that C(opy) and R(ename) are the
28 only ones that can be followed by the score number in the output in
34 * jk/remote-curl-an-array-in-struct-cannot-be-null (2015-01-28) 1 commit
35 - do not check truth value of flex arrays
40 * jk/status-read-branch-name-fix (2015-01-28) 1 commit
41 - read_and_strip_branch: fix typo'd address-of operator
43 Code to read branch name from various files in .git/ directory
44 would have misbehaved if the code to write them left an empty file.
49 * ch/new-gpg-drops-rfc-1991 (2015-01-29) 2 commits
50 - t/lib-gpg: sanity-check that we can actually sign
51 - t/lib-gpg: include separate public keys in keyring.gpg
53 Older GnuPG implementation may not correctly import the keyring
54 material we prepare for the tests to use.
59 * jc/apply-beyond-symlink (2015-02-03) 4 commits
60 - apply: do not touch a file beyond a symbolic link
61 - apply: do not read from beyond a symbolic link
62 - apply: do not read from the filesystem under --index
63 - apply: reject input that touches outside the working area
65 "git apply" was not very careful about reading from, removing,
66 updating and creating paths outside the working tree (under
67 --index/--cached) or the current directory (when used as a
68 replacement for GNU patch).
70 May need to re-review the tests.
73 * jc/diff-b-m (2015-02-01) 1 commit
74 - diff: do not use creation-half of -B as a rename target candidate
76 "git diff -B -M" produced incorrect patch when the postimage of a
77 completely rewritten file is similar to the preimage of a removed
78 file; such a resulting file must not be expressed as a rename from
81 The fix in this patch is broken, unfortunately.
84 * jc/remote-set-url-doc (2015-01-29) 1 commit
85 - Documentation/git-remote.txt: stress that set-url is not for triangular
87 Clarify in the documentation that "remote.<nick>.pushURL" and
88 "remote.<nick>.URL" are there to name the same repository accessed
89 via different transports, not two separate repositories.
94 * jc/t4122-use-test-write-lines (2015-01-28) 1 commit
95 - t4122: use test_write_lines from test-lib-functions
100 * jk/pack-bitmap (2015-02-03) 1 commit
101 - [NEEDS SOB] ewah: fix building with gcc < 3.4.0
103 Need to get the S-o-by and Acked-by straightend out.
106 * jk/prune-mtime (2015-02-02) 1 commit
107 - sha1_file: fix iterating loose alternate objects
109 In v2.2.0, we broke "git prune" that runs in a repository that
110 borrows from an alternate object store.
112 Will merge to 'next'.
115 * ps/submodule-sanitize-path-upon-add (2015-02-02) 1 commit
116 - git-submodule.sh: fix '/././' path normalization
118 Will merge to 'next'.
121 * tc/curl-vernum-output-broken-in-7.11 (2015-02-03) 1 commit
122 - Makefile: handle broken curl version number in version check
124 Cope with irregular output of "curl-config --vernum" given by
125 certain older vintages of cURL.
127 Will merge to 'next'.
130 * tc/missing-http-proxyauth (2015-02-03) 1 commit
131 - http: support curl < 7.10.7
133 Will merge to 'next'.
136 * tc/t9001-noxmailer (2015-01-30) 1 commit
137 - t9001: use older Getopt::Long boolean prefix '--no' rather than '--no-'
139 Kyle's update to explicitly support --no-option with older
140 Getopt::Long ($gmane/263203) might be a better alternative
141 if we have to support them in the longer term.
143 --------------------------------------------------
146 * jn/doc-api-errors (2014-12-04) 1 commit
147 - doc: document error handling functions and conventions
152 * pw/remote-set-url-fetch (2014-11-26) 1 commit
153 - remote: add --fetch and --both options to set-url
158 * ms/submodule-update-config-doc (2014-11-03) 1 commit
159 - submodule: clarify documentation for update subcommand
161 Needs a reroll ($gmane/259037).
164 * je/quiltimport-no-fuzz (2014-10-21) 2 commits
165 - git-quiltimport: flip the default not to allow fuzz
166 - git-quiltimport.sh: allow declining fuzz with --exact option
168 "quiltimport" drove "git apply" always with -C1 option to reduce
169 context of the patch in order to give more chance to somewhat stale
170 patches to apply. Add an "--exact" option to disable, and also
171 "-C$n" option to customize this behaviour. The top patch
172 optionally flips the default to "--exact".
174 Tired of waiting for an Ack; will discard.
177 * tr/remerge-diff (2014-11-10) 9 commits
178 - t4213: avoid "|" in sed regexp
179 - log --remerge-diff: show what the conflict resolution changed
180 - name-hash: allow dir hashing even when !ignore_case
181 - merge-recursive: allow storing conflict hunks in index
182 - merge_diff_mode: fold all merge diff variants into an enum
183 - combine-diff: do not pass revs->dense_combined_merges redundantly
184 - merge-recursive: -Xindex-only to leave worktree unchanged
185 - merge-recursive: internal flag to avoid touching the worktree
186 - merge-recursive: remove dead conditional in update_stages()
188 "log -p" output learns a new way to let users inspect a merge
189 commit by showing the differences between the automerged result
190 with conflicts the person who recorded the merge would have seen
191 and the final conflict resolution that was recorded in the merge.
193 Waiting for a reroll ($gmane/256591).
196 * hv/submodule-config (2014-11-11) 4 commits
197 - do not die on error of parsing fetchrecursesubmodules option
198 - use new config API for worktree configurations of submodules
199 - extract functions for submodule config set and lookup
200 - implement submodule config cache for lookup of submodule names
202 Kicked back to 'pu' per request ($gmane/255610).
205 * ab/add-interactive-show-diff-func-name (2014-05-12) 2 commits
206 - SQUASH??? git-add--interactive: Preserve diff heading when splitting hunks
207 - git-add--interactive: Preserve diff heading when splitting hunks
209 Waiting for a reroll.
212 * jn/gitweb-utf8-in-links (2014-05-27) 1 commit
213 - gitweb: Harden UTF-8 handling in generated links
218 * ss/userdiff-update-csharp-java (2014-06-02) 2 commits
219 - userdiff: support Java try keyword
220 - userdiff: support C# async methods and correct C# keywords
222 Reviews sent; waiting for a response.
225 * bg/rebase-off-of-previous-branch (2014-04-16) 1 commit
226 - git-rebase: print name of rev when using shorthand
228 Teach "git rebase -" to report the concrete name of the branch
229 (i.e. the previous one).
231 But it stops short and does not do the same for "git rebase @{-1}".
235 * rb/merge-prepare-commit-msg-hook (2014-01-10) 4 commits
236 - merge: drop unused arg from abort_commit method signature
237 - merge: make prepare_to_commit responsible for write_merge_state
238 - t7505: ensure cleanup after hook blocks merge
239 - t7505: add missing &&
241 Expose more merge states (e.g. $GIT_DIR/MERGE_MODE) to hooks that
242 run during "git merge". The log message stresses too much on one
243 hook, prepare-commit-msg, but it would equally apply to other hooks
244 like post-merge, I think.
246 Waiting for a reroll.
249 * jc/graph-post-root-gap (2013-12-30) 3 commits
250 - WIP: document what we want at the end
251 - graph: remove unused code a bit
252 - graph: stuff the current commit into graph->columns[]
254 This was primarily a RFH ($gmane/239580).
257 * tg/perf-lib-test-perf-cleanup (2013-09-19) 2 commits
258 - perf-lib: add test_perf_cleanup target
259 - perf-lib: split starting the test from the execution
261 Add test_perf_cleanup shell function to the perf suite, that allows
262 the script writers to define a test with a clean-up action.
267 * jc/show-branch (2014-03-24) 5 commits
268 - show-branch: use commit slab to represent bitflags of arbitrary width
269 - show-branch.c: remove "all_mask"
270 - show-branch.c: abstract out "flags" operation
271 - show-branch.c: lift all_mask/all_revs to a global static
272 - show-branch.c: update comment style
274 Waiting for the final step to lift the hard-limit before sending it out.
276 --------------------------------------------------
279 * jc/apply-ws-fix-expands-report (2015-01-22) 1 commit
280 - apply: detect and mark whitespace errors in context lines when fixing
281 (this branch uses jc/apply-ws-fix-expands.)
283 "git apply --whitespace=fix" fixed whitespace errors in the common
284 context lines but did so without reporting.
286 Will merge to 'next'.
289 * ks/rebase-i-abbrev (2015-01-22) 1 commit
290 - rebase -i: use full object name internally throughout the script
292 The insn sheet "git rebase -i" creates did not fully honor
293 core.abbrev settings.
295 Will merge to 'next'.
298 * mh/deref-symref-over-helper-transport (2015-01-21) 1 commit
299 - transport-helper: do not request symbolic refs to remote helpers
301 "git fetch" over a remote-helper that cannot respond to "list"
302 command could not fetch from a symbolic reference e.g. HEAD.
304 Will merge to 'next'.
307 * ak/add-i-empty-candidates (2015-01-22) 1 commit
308 - add -i: return from list_and_choose if there is no candidate
310 The interactive "show a list and let the user choose from it"
311 interface "add -i" used showed and prompted to the user even when
312 the candidate list was empty, against which the only "choice" the
313 user could have made was to choose nothing.
315 Will merge to 'next'.
318 * av/wincred-with-at-in-username-fix (2015-01-25) 1 commit
319 - wincred: fix get credential if username has "@"
321 Will merge to 'next'.
324 * jc/conf-var-doc (2015-02-02) 3 commits
325 - CodingGuidelines: describe naming rules for configuration variables
326 - config.txt: mark deprecated variables more prominently
327 - config.txt: clarify that add.ignore-errors is deprecated
330 * jc/doc-log-rev-list-options (2015-01-23) 1 commit
331 - Documentation: what does "git log --indexed-objects" even mean?
333 Will merge to 'next'.
336 * jk/dumb-http-idx-fetch-fix (2015-01-27) 1 commit
337 - dumb-http: do not pass NULL path to parse_pack_index
339 Will merge to 'next'.
342 * ld/p4-submit-hint (2015-01-23) 1 commit
343 (merged to 'next' on 2015-01-23 at ed972d3)
344 + git-p4: correct --prepare-p4-only instructions
346 Will merge to 'master' after 2.3 final.
349 * mg/commit-author-no-match-malformed-message (2015-01-26) 1 commit
350 - commit: reword --author error message
352 Will merge to 'next'.
355 * mg/push-repo-option-doc (2015-01-28) 1 commit
356 - git-push.txt: document the behavior of --repo
358 Will merge to 'next'.
361 * ye/http-accept-language (2015-01-28) 1 commit
362 - http: add Accept-Language header if possible
364 Using environment variable LANGUAGE and friends on the client side,
365 send Accept-Language when making HTTP requests.
367 Will merge to 'next'.
370 * ak/typofixes (2015-01-21) 2 commits
371 (merged to 'next' on 2015-01-22 at e36f25a)
372 + t/lib-terminal.sh: fix typo
373 + pack-bitmap: fix typo
375 Will merge to 'master'.
378 * jc/apply-ws-fix-expands (2015-01-22) 3 commits
379 - apply: count the size of postimage correctly
380 - apply: make update_pre_post_images() sanity check the given postlen
382 (this branch is used by jc/apply-ws-fix-expands-report.)
384 "git apply --whitespace=fix" used to under-allocate the memory
385 when the fix resulted in a longer text than the original patch.
387 Will merge to 'next'.
390 * jc/coding-guidelines (2015-01-15) 1 commit
391 (merged to 'next' on 2015-01-22 at 3c96639)
392 + CodingGuidelines: clarify C #include rules
394 Will merge to 'master'.
397 * jc/pretty-format-doc (2015-01-15) 1 commit
398 (merged to 'next' on 2015-01-22 at 2a81ecc)
399 + "log --pretty" documentation: do not forget "tformat:"
404 * jc/unused-symbols (2015-01-15) 8 commits
405 (merged to 'next' on 2015-01-22 at 77fd5f0)
406 + shallow.c: make check_shallow_file_for_update() static
407 + remote.c: make clear_cas_option() static
408 + urlmatch.c: make match_urls() static
409 + revision.c: make save_parents() and free_saved_parents() static
410 + line-log.c: make line_log_data_init() static
411 + pack-bitmap.c: make pack_bitmap_filename() static
412 + prompt.c: remove git_getpass() nobody uses
413 + http.c: make finish_active_slot() and handle_curl_result() static
415 Mark file-local symbols as "static", and drop functions that nobody
421 * jk/sanity (2015-01-27) 3 commits
422 - test-lib.sh: set prerequisite SANITY by testing what we really need
423 - tests: correct misuses of POSIXPERM
424 - t/lib-httpd: switch SANITY check for NOT_ROOT
426 Waiting for ack or counter-proposal from Torsten.
427 Otherwise looking good.
430 * js/fsck-opt (2015-01-21) 19 commits
431 - fsck: support ignoring objects in `git fsck` via fsck.skiplist
432 - fsck: git receive-pack: support excluding objects from fsck'ing
433 - fsck: introduce `git fsck --quick`
434 - fsck: support demoting errors to warnings
435 - fsck: document the new receive.fsck.* options
436 - fsck: allow upgrading fsck warnings to errors
437 - fsck: optionally ignore specific fsck issues completely
438 - fsck: disallow demoting grave fsck errors to warnings
439 - fsck: add a simple test for receive.fsck.*
440 - fsck: make fsck_tag() warn-friendly
441 - fsck: handle multiple authors in commits specially
442 - fsck: make fsck_commit() warn-friendly
443 - fsck: make fsck_ident() warn-friendly
444 - fsck: report the ID of the error/warning
445 - fsck: allow demoting errors to warnings via receive.fsck.warn = <key>
446 - fsck: offer a function to demote fsck errors to warnings
447 - fsck: provide a function to parse fsck message IDs
448 - fsck: introduce identifiers for fsck messages
449 - fsck: introduce fsck options
451 Need extra set of eyes to review this.
454 * ld/p4-exclude-in-sync (2015-01-28) 2 commits
455 - git-p4: correct "exclude" change
456 (merged to 'next' on 2015-01-22 at f6f1fc7)
457 + git-p4: support excluding paths on sync
459 Will squash into one after 2.3 final.
462 * tb/connect-ipv6-parse-fix (2015-01-22) 3 commits
463 - t5500: show user name and host in diag-url
464 - t5601: add more test cases for IPV6
465 - connect.c: improve parsing of literal IPV6 addresses
467 Need extra set of eyes to review this.
470 * sb/atomic-push-fix (2015-01-23) 6 commits
471 - refs.c: enable large transactions
472 - refs.c: remove unlock_ref and commit_ref from write_ref_sha1
473 - refs.c: move static functions to close and commit refs
474 - refs.c: remove lock_fd from struct ref_lock
475 - t7004: rename ULIMIT test prerequisite to ULIMIT_STACK_SIZE
476 - update-ref: test handling large transactions properly
477 (this branch uses mh/reflog-expire and sb/atomic-push.)
479 I had to wiggle this in and am not confident I did it correctly.
481 Need extra set of eyes to review this.
484 * jk/strbuf-doc-to-header (2015-01-16) 7 commits
485 - strbuf.h: group documentation for trim functions
486 - strbuf.h: drop boilerplate descriptions of strbuf_split_*
487 - strbuf.h: reorganize api function grouping headers
488 - strbuf.h: format asciidoc code blocks as 4-space indent
489 - strbuf.h: drop asciidoc list formatting from API docs
490 - strbuf.h: unify documentation comments beginnings
491 - strbuf.h: integrate api-strbuf.txt documentation
493 Resolve the "doc vs header" to favor the latter.
496 * ah/usage-strings (2015-01-14) 1 commit
497 (merged to 'next' on 2015-01-22 at bfa5bab)
498 + standardize usage info string format
503 * ak/stash-store-create-help (2015-01-13) 1 commit
504 - stash: show "create" and "store" subcommands in usage-help
509 * jk/blame-commit-label (2015-01-13) 5 commits
510 (merged to 'next' on 2015-01-15 at 1b32e21)
511 + blame.c: fix garbled error message
512 + use xstrdup_or_null to replace ternary conditionals
513 + builtin/commit.c: use xstrdup_or_null instead of envdup
514 + builtin/apply.c: use xstrdup_or_null instead of null_strdup
515 + git-compat-util: add xstrdup_or_null helper
520 * bc/http-fallback-to-password-after-krb-fails (2015-01-07) 1 commit
521 (merged to 'next' on 2015-01-12 at 4c67038)
522 + remote-curl: fall back to Basic auth if Negotiate fails
524 After attempting and failing a password-less authentication
525 (e.g. kerberos), libcURL refuses to fall back to password based
526 Basic authentication without a bit of help/encouragement.
531 * bp/diff-relative-config (2015-01-07) 2 commits
532 - diff: teach diff.relative to give default to --relative=<value>
533 - diff: teach --no-relative to override earlier --relative
536 * dk/format-patch-ignore-diff-submodule (2015-01-07) 2 commits
537 (merged to 'next' on 2015-01-12 at 6b4605b)
538 + format-patch: ignore diff.submodule setting
539 + t4255: test am submodule with diff.submodule
541 Setting diff.submodule to 'log' made "git format-patch" produce
547 * nd/attr-optim (2014-12-29) 3 commits
548 - attr: avoid heavy work when we know the specified attr is not defined
549 - attr: do not attempt to expand when we know it's not a macro
550 - attr.c: rename arg name attr_nr to avoid shadowing the global one
553 * cj/log-invert-grep (2015-01-13) 1 commit
554 (merged to 'next' on 2015-01-13 at c908e99)
555 + log: teach --invert-grep option
560 * km/gettext-n (2015-01-12) 1 commit
561 (merged to 'next' on 2015-01-12 at 0cbbf4a)
562 + gettext.h: add parentheses around N_ expansion if supported
567 * jn/rerere-fail-on-auto-update-failure (2015-01-08) 1 commit
568 (merged to 'next' on 2015-01-12 at 313c449)
569 + rerere: error out on autoupdate failure
571 "git rerere" (invoked internally from many mergy operations) did
572 not correctly signal errors when told to update the working tree
573 files and failed to do so for whatever reason.
578 * sb/atomic-push (2015-01-14) 11 commits
579 (merged to 'next' on 2015-01-14 at 12c4e28)
580 + Document receive.advertiseatomic
581 (merged to 'next' on 2015-01-12 at 411c6a6)
582 + t5543-atomic-push.sh: add basic tests for atomic pushes
583 + push.c: add an --atomic argument
584 + send-pack.c: add --atomic command line argument
585 + send-pack: rename ref_update_to_be_sent to check_to_send_update
586 + receive-pack.c: negotiate atomic push support
587 + receive-pack.c: add execute_commands_atomic function
588 + receive-pack.c: move transaction handling in a central place
589 + receive-pack.c: move iterating over all commands outside execute_commands
590 + receive-pack.c: die instead of error in case of possible future bug
591 + receive-pack.c: shorten the execute_commands loop over all commands
592 (this branch is used by sb/atomic-push-fix; uses mh/reflog-expire.)
594 "git push" has been taught a "--atomic" option that makes push to
595 update more than one ref an "all-or-none" affair.
600 * mh/reflog-expire (2014-12-22) 24 commits
601 (merged to 'next' on 2015-01-12 at 12a7dff)
602 + refs.c: let fprintf handle the formatting
603 + refs.c: don't expose the internal struct ref_lock in the header file
604 + lock_any_ref_for_update(): inline function
605 + refs.c: remove unlock_ref/close_ref/commit_ref from the refs api
606 + reflog_expire(): new function in the reference API
607 + expire_reflog(): treat the policy callback data as opaque
608 + Move newlog and last_kept_sha1 to "struct expire_reflog_cb"
609 + expire_reflog(): move rewrite to flags argument
610 + expire_reflog(): move verbose to flags argument
611 + expire_reflog(): pass flags through to expire_reflog_ent()
612 + struct expire_reflog_cb: a new callback data type
613 + Rename expire_reflog_cb to expire_reflog_policy_cb
614 + expire_reflog(): move updateref to flags argument
615 + expire_reflog(): move dry_run to flags argument
616 + expire_reflog(): add a "flags" argument
617 + expire_reflog(): extract two policy-related functions
618 + Extract function should_expire_reflog_ent()
619 + expire_reflog(): use a lock_file for rewriting the reflog file
620 + expire_reflog(): return early if the reference has no reflog
621 + expire_reflog(): rename "ref" parameter to "refname"
622 + expire_reflog(): it's not an each_ref_fn anymore
623 + refs.c: add a function to append a reflog entry to a fd
624 + refs.c: make ref_transaction_delete a wrapper for ref_transaction_update
625 + refs.c: make ref_transaction_create a wrapper for ref_transaction_update
626 (this branch is used by sb/atomic-push and sb/atomic-push-fix.)
628 Restructure "reflog expire" to fit the reflogs better with the
629 recently updated ref API.
631 Looked reasonable (except that some shortlog entries stood out like
637 * jc/push-to-checkout (2015-01-08) 2 commits
638 (merged to 'next' on 2015-01-12 at e64df63)
639 + receive-pack: support push-to-checkout hook
640 + receive-pack: refactor updateInstead codepath
642 Extending the js/push-to-deploy topic, the behaviour of "git push"
643 when updating the working tree and the index with an update to the
644 branch that is checked out can be tweaked by push-to-checkout hook.
649 * nd/list-files (2015-01-27) 22 commits
650 . t3080: tests for git-list-files
651 . list-files: -M aka diff-cached
652 . list-files -F: show submodules with the new indicator '&'
653 . list-files: add -F/--classify
655 . list-files: show directories as well as files
656 . list-files: do not show duplicate cached entries
657 . list-files: sort output and remove duplicates
658 . list-files: add -t back
659 . list-files: add -1 short for --no-column
660 . list-files: add -R/--recursive short for --max-depth=-1
661 . list-files: -u does not imply showing stages
662 . list-files: make alias 'ls' default to 'list-files'
663 . list-files: a user friendly version of ls-files and more
664 . ls-files: support --max-depth
665 . ls-files: add --column
666 . ls-files: add --color to highlight file names
667 . ls-files: buffer full item in strbuf before printing
668 . ls_colors.c: highlight submodules like directories
669 . ls_colors.c: add a function to color a file name
670 . ls_colors.c: parse color.ls.* from config file
671 . ls_colors.c: add $LS_COLORS parsing code
673 A new "git list-files" Porcelain command, "ls-files" with bells and
676 Seems unable to pass its self test (yet).
679 * nd/multiple-work-trees (2015-01-27) 38 commits
680 - t2026 needs procondition SANITY
681 - git-checkout.txt: a note about multiple checkout support for submodules
682 - checkout: add --ignore-other-wortrees
683 - checkout: pass whole struct to parse_branchname_arg instead of individual flags
684 - git-common-dir: make "modules/" per-working-directory directory
685 - checkout: do not fail if target is an empty directory
686 - t2025: add a test to make sure grafts is working from a linked checkout
687 - checkout: don't require a work tree when checking out into a new one
688 - git_path(): keep "info/sparse-checkout" per work-tree
689 - count-objects: report unused files in $GIT_DIR/worktrees/...
690 - gc: support prune --worktrees
691 - gc: factor out gc.pruneexpire parsing code
692 - gc: style change -- no SP before closing parenthesis
693 - checkout: clean up half-prepared directories in --to mode
694 - checkout: reject if the branch is already checked out elsewhere
695 - prune: strategies for linked checkouts
696 - checkout: support checking out into a new working directory
697 - use new wrapper write_file() for simple file writing
698 - wrapper.c: wrapper to open a file, fprintf then close
699 - setup.c: support multi-checkout repo setup
700 - setup.c: detect $GIT_COMMON_DIR check_repository_format_gently()
701 - setup.c: convert check_repository_format_gently to use strbuf
702 - setup.c: detect $GIT_COMMON_DIR in is_git_directory()
703 - setup.c: convert is_git_directory() to use strbuf
704 - git-stash: avoid hardcoding $GIT_DIR/logs/....
705 - *.sh: avoid hardcoding $GIT_DIR/hooks/...
706 - git-sh-setup.sh: use rev-parse --git-path to get $GIT_DIR/objects
707 - $GIT_COMMON_DIR: a new environment variable
708 - commit: use SEQ_DIR instead of hardcoding "sequencer"
709 - fast-import: use git_path() for accessing .git dir instead of get_git_dir()
710 - reflog: avoid constructing .lock path with git_path
711 - *.sh: respect $GIT_INDEX_FILE
712 - git_path(): be aware of file relocation in $GIT_DIR
713 - path.c: group git_path(), git_pathdup() and strbuf_git_path() together
714 - path.c: rename vsnpath() to do_git_path()
715 - git_snpath(): retire and replace with strbuf_git_path()
716 - path.c: make get_pathname() call sites return const char *
717 - path.c: make get_pathname() return strbuf instead of static buffer
719 A replacement for contrib/workdir/git-new-workdir that does not
720 rely on symbolic links and make sharing of objects and refs safer
721 by making the borrowee and borrowers aware of each other.
724 * nd/untracked-cache (2015-01-21) 24 commits
725 - git-status.txt: advertisement for untracked cache
726 - untracked cache: guard and disable on system changes
727 - mingw32: add uname()
728 - t7063: tests for untracked cache
729 - update-index: test the system before enabling untracked cache
730 - update-index: manually enable or disable untracked cache
731 - status: enable untracked cache
732 - untracked-cache: temporarily disable with $GIT_DISABLE_UNTRACKED_CACHE
733 - untracked cache: mark index dirty if untracked cache is updated
734 - untracked cache: print stats with $GIT_TRACE_UNTRACKED_STATS
735 - untracked cache: avoid racy timestamps
736 - read-cache.c: split racy stat test to a separate function
737 - untracked cache: invalidate at index addition or removal
738 - untracked cache: load from UNTR index extension
739 - untracked cache: save to an index extension
740 - ewah: add convenient wrapper ewah_serialize_strbuf()
741 - untracked cache: don't open non-existent .gitignore
742 - untracked cache: mark what dirs should be recursed/saved
743 - untracked cache: record/validate dir mtime and reuse cached output
744 - untracked cache: make a wrapper around {open,read,close}dir()
745 - untracked cache: invalidate dirs recursively if .gitignore changes
746 - untracked cache: initial untracked cache validation
747 - untracked cache: record .gitignore information and dir hierarchy
748 - dir.c: optionally compute sha-1 of a .gitignore file
750 Need extra set of eyes to review this.
752 --------------------------------------------------
755 * jc/push-cert-hmac-optim (2014-09-25) 2 commits
756 . receive-pack: truncate hmac early and convert only necessary bytes
757 . sha1_to_hex: split out "hex-format n bytes" helper and use it
759 This is "we could do this if we wanted to", not "we measured and it
760 improves performance critical codepath".
763 * mt/patch-id-stable (2014-06-10) 1 commit
764 . patch-id: change default to stable
766 Nobody seems to be jumping up & down requesting this last step,
767 which makes the result somewhat backward incompatible.
770 * sb/copy-fd-errno (2014-11-17) 1 commit
771 . copy.c: make copy_fd preserve meaningful errno
774 * cj/grep-none-match (2015-01-06) 1 commit
775 . git-log: added --none-match option
777 "git log --none-match --grep=WIP" will show only commits that are
780 cj/log-invert-grep replaces this.
783 * lf/blame-commit-label (2015-01-12) 1 commit
784 . blame.c: fix garbled error message
786 jk/blame-commit-label replaces this.