1 To: git@vger.kernel.org
3 Subject: What's cooking in git.git (Jan 2015, #01; Tue, 6)
4 X-master-at: c5b9256360b06efb9453c1627b78b14598e288b8
5 X-next-at: cc831f245cfe79ce0a9b574baf3c07960f338270
7 What's cooking in git.git (Jan 2015, #01; Tue, 6)
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 A (somewhat belated) happy new year, everybody. Sorry for being
15 silent for a few more days than I intended to. I'll try to get sick
16 and recover before a long holiday ends the next time.
18 You can find the changes described here in the integration branches
19 of the repositories listed at
21 http://git-blame.blogspot.com/p/git-public-repositories.html
23 --------------------------------------------------
26 * cj/grep-none-match (2015-01-06) 1 commit
27 - git-log: added --none-match option
29 "git log --none-match --grep=WIP" will show only commits that are
32 I think "git grep -l --none-match -e foo -e bar" ought to work with
33 the same change but the patch does not seem to go far enough to do
37 * jk/prune-packed-server-info (2015-01-06) 2 commits
38 - update-server-info: create info/* with mode 0666
39 - t1301: set umask in reflog sharedrepository=group test
41 Fix recent breakage in Git 2.2 that started creating info/refs and
42 objects/info/packs files with permission bits tighter than user's
46 * km/imap-send-libcurl-options (2015-01-06) 2 commits
47 - imap-send.c: set CURLOPT_USE_SSL to CURLUSESSL_TRY
48 - imap-send.c: support GIT_CURL_VERBOSE
49 (this branch uses br/imap-send-verbosity and br/imap-send-via-libcurl.)
51 Now imap-send learned to talk to the server using cURL library,
52 allow the same GIT_CURL_VERBOSE environment variable to control the
53 verbosity of the chattering.
58 * km/log-usage-string-i18n (2015-01-06) 1 commit
59 - log.c: fix translation markings
64 * rc/for-each-ref-tracking (2015-01-06) 2 commits
66 - for-each-ref: always check stat_tracking_info()'s return value
68 Will merge to 'next', probably after squashing the fixup.
71 * rh/test-color-avoid-terminfo-in-original-home (2015-01-06) 1 commit
72 - test-lib.sh: do tests for color support after changing HOME
74 We try to see if "tput" gives a useful result before switching TERM
75 to dumb and moving HOME to point to our fake location for stability
76 of the tests, and then use the command when coloring the output
77 from the tests, but there is no guarantee "tput" works after
82 * sp/subtree-doc (2015-01-06) 1 commit
83 - subtree: fix AsciiDoc list item continuation
87 --------------------------------------------------
90 * jn/rerere-fail-on-auto-update-failure (2014-12-03) 2 commits
92 - rerere: error out on autoupdate failure
94 Will be rerolled as a part of a larger series.
97 * jn/doc-api-errors (2014-12-04) 1 commit
98 - doc: document error handling functions and conventions
103 * sb/copy-fd-errno (2014-11-17) 1 commit
104 - copy.c: make copy_fd preserve meaningful errno
106 Will be rerolled as a part of a larger series.
109 * ye/http-accept-language (2014-12-22) 1 commit
110 - http: Add Accept-Language header if possible
112 Expecting a reroll ($gmane/261810).
115 * jk/strbuf-doc-to-header (2014-12-12) 4 commits
116 - strbuf.h: reorganize api function grouping headers
117 - strbuf.h: format asciidoc code blocks as 4-space indent
118 - strbuf.h: drop asciidoc list formatting from API docs
119 - strbuf: migrate api-strbuf.txt documentation to strbuf.h
121 Resolve the "doc vs header" to favor the latter.
123 Expecting to be rerolled.
126 * pw/remote-set-url-fetch (2014-11-26) 1 commit
127 - remote: add --fetch and --both options to set-url
132 * ms/submodule-update-config-doc (2014-11-03) 1 commit
133 - submodule: clarify documentation for update subcommand
135 Needs a reroll ($gmane/259037).
138 * je/quiltimport-no-fuzz (2014-10-21) 2 commits
139 - git-quiltimport: flip the default not to allow fuzz
140 - git-quiltimport.sh: allow declining fuzz with --exact option
142 "quiltimport" drove "git apply" always with -C1 option to reduce
143 context of the patch in order to give more chance to somewhat stale
144 patches to apply. Add an "--exact" option to disable, and also
145 "-C$n" option to customize this behaviour. The top patch
146 optionally flips the default to "--exact".
148 Tired of waiting for an Ack; will discard.
151 * jc/push-cert-hmac-optim (2014-09-25) 2 commits
152 - receive-pack: truncate hmac early and convert only necessary bytes
153 - sha1_to_hex: split out "hex-format n bytes" helper and use it
155 This is "we could do this if we wanted to", not "we measured and it
156 improves performance critical codepath".
161 * mt/patch-id-stable (2014-06-10) 1 commit
162 - patch-id: change default to stable
164 Teaches "git patch-id" to compute the patch ID that does not change
165 when the files in a single patch is reordered. As this new algorithm
166 is backward incompatible, the last bit to flip it to be the default
167 is left out of 'master' for now.
169 Nobody seems to be jumping up & down requesting this last step,
170 which makes the result somewhat backward incompatible.
174 * tr/remerge-diff (2014-11-10) 9 commits
175 - t4213: avoid "|" in sed regexp
176 - log --remerge-diff: show what the conflict resolution changed
177 - name-hash: allow dir hashing even when !ignore_case
178 - merge-recursive: allow storing conflict hunks in index
179 - merge_diff_mode: fold all merge diff variants into an enum
180 - combine-diff: do not pass revs->dense_combined_merges redundantly
181 - merge-recursive: -Xindex-only to leave worktree unchanged
182 - merge-recursive: internal flag to avoid touching the worktree
183 - merge-recursive: remove dead conditional in update_stages()
185 "log -p" output learns a new way to let users inspect a merge
186 commit by showing the differences between the automerged result
187 with conflicts the person who recorded the merge would have seen
188 and the final conflict resolution that was recorded in the merge.
190 Waiting for a reroll ($gmane/256591).
193 * hv/submodule-config (2014-11-11) 4 commits
194 - do not die on error of parsing fetchrecursesubmodules option
195 - use new config API for worktree configurations of submodules
196 - extract functions for submodule config set and lookup
197 - implement submodule config cache for lookup of submodule names
199 Kicked back to 'pu' per request ($gmane/255610).
202 * ab/add-interactive-show-diff-func-name (2014-05-12) 2 commits
203 - SQUASH??? git-add--interactive: Preserve diff heading when splitting hunks
204 - git-add--interactive: Preserve diff heading when splitting hunks
206 Waiting for a reroll.
209 * jn/gitweb-utf8-in-links (2014-05-27) 1 commit
210 - gitweb: Harden UTF-8 handling in generated links
215 * ss/userdiff-update-csharp-java (2014-06-02) 2 commits
216 - userdiff: support Java try keyword
217 - userdiff: support C# async methods and correct C# keywords
219 Reviews sent; waiting for a response.
222 * bg/rebase-off-of-previous-branch (2014-04-16) 1 commit
223 - git-rebase: print name of rev when using shorthand
225 Teach "git rebase -" to report the concrete name of the branch
226 (i.e. the previous one).
228 But it stops short and does not do the same for "git rebase @{-1}".
232 * rb/merge-prepare-commit-msg-hook (2014-01-10) 4 commits
233 - merge: drop unused arg from abort_commit method signature
234 - merge: make prepare_to_commit responsible for write_merge_state
235 - t7505: ensure cleanup after hook blocks merge
236 - t7505: add missing &&
238 Expose more merge states (e.g. $GIT_DIR/MERGE_MODE) to hooks that
239 run during "git merge". The log message stresses too much on one
240 hook, prepare-commit-msg, but it would equally apply to other hooks
241 like post-merge, I think.
243 Waiting for a reroll.
246 * jc/graph-post-root-gap (2013-12-30) 3 commits
247 - WIP: document what we want at the end
248 - graph: remove unused code a bit
249 - graph: stuff the current commit into graph->columns[]
251 This was primarily a RFH ($gmane/239580).
254 * tg/perf-lib-test-perf-cleanup (2013-09-19) 2 commits
255 - perf-lib: add test_perf_cleanup target
256 - perf-lib: split starting the test from the execution
258 Add test_perf_cleanup shell function to the perf suite, that allows
259 the script writers to define a test with a clean-up action.
264 * jc/show-branch (2014-03-24) 5 commits
265 - show-branch: use commit slab to represent bitflags of arbitrary width
266 - show-branch.c: remove "all_mask"
267 - show-branch.c: abstract out "flags" operation
268 - show-branch.c: lift all_mask/all_revs to a global static
269 - show-branch.c: update comment style
271 Waiting for the final step to lift the hard-limit before sending it out.
273 --------------------------------------------------
276 * bw/maint-0090-awk-tweak (2014-12-23) 1 commit
277 (merged to 'next' on 2014-12-29 at 9301c36)
278 + t0090: tweak awk statement for Solaris /usr/xpg4/bin/awk
280 Will merge to 'master'.
283 * cc/bisect-rev-parsing (2014-12-29) 2 commits
284 - bisect: add test to check that revs are properly parsed
285 - bisect: parse revs before passing them to check_expected_revs()
287 The logic in "git bisect bad HEAD" etc. to avoid forcing the test
288 of the common ancestor of bad and good commits was broken.
290 Will merge to 'next'.
293 * es/checkout-index-temp (2014-12-29) 5 commits
294 - checkout-index: fix --temp relative path mangling
295 - t2004: demonstrate broken relative path printing
296 - t2004: standardize file naming in symlink test
297 - t2004: drop unnecessary write-tree/read-tree
298 - t2004: modernize style
300 "git checkout-index --temp=$target $path" did not work correctly
301 for paths outside the current subdirectory in the project.
303 Will merge to 'next'.
306 * js/remote-add-with-insteadof (2014-12-23) 2 commits
307 - Add a regression test for 'git remote add <existing> <same-url>'
308 - git remote: allow adding remotes agreeing with url.<...>.insteadOf
310 "git remote add $name $URL" is now allowed when "url.$URL.insteadOf"
314 * rs/plug-strbuf-leak-in-lock-ref (2014-12-29) 1 commit
315 - refs: plug strbuf leak in lock_ref_sha1_basic()
317 Will merge to 'next'.
320 * rs/plug-strbuf-leak-in-merge (2014-12-29) 1 commit
321 - merge: release strbuf after use in suggest_conflicts()
323 Will merge to 'next'.
326 * rs/simplify-parsing-commit-tree-S (2014-12-29) 1 commit
327 - commit-tree: simplify parsing of option -S using skip_prefix()
329 Will merge to 'next'.
332 * rs/simplify-transport-get (2014-12-29) 1 commit
333 - transport: simplify duplicating a substring in transport_get() using xmemdupz()
335 Will merge to 'next'.
338 * sb/doc-submitting-patches-keep-notes (2014-12-29) 1 commit
339 - Documentation/SubmittingPatches: Explain the rationale of git notes
341 Will merge to 'next'.
344 * bb/update-unicode-table (2014-12-22) 5 commits
345 (merged to 'next' on 2014-12-23 at b4ce669)
346 + update_unicode.sh: delete the command group
347 + update_unicode.sh: make the output structure visible
348 + update_unicode.sh: shorten uniset invocation path
349 + update_unicode.sh: set UNICODE_DIR only once
350 + update_unicode.sh: simplify output capture
352 Simplify the procedure to generate unicode table.
354 Will merge to 'master'.
357 * bc/fetch-thin-less-aggressive-in-normal-repository (2014-12-29) 3 commits
358 - pack-objects: use --objects-edge-aggressive for shallow repos
359 - rev-list: add an option to mark fewer edges as uninteresting
360 - Documentation: add missing article in rev-list-options.txt
362 Earlier we made "rev-list --object-edge" more aggressively list the
363 objects at the edge commits, in order to reduce number of objects
364 fetched into a shallow repository, but the change affected cases
365 other than "fetching into a shallow repository" and made it
366 unusably slow (e.g. fetching into a normal repository should not
367 have to suffer the overhead from extra processing). Limit it to a
368 more specific case by introducing --objects-edge-aggressive, a new
371 Will merge to 'next'.
374 * es/squelch-openssl-warnings-on-macosx (2014-12-18) 1 commit
375 (merged to 'next' on 2014-12-23 at e88cf6a)
376 + git-compat-util: suppress unavoidable Apple-specific deprecation warnings
378 Squelch useless compiler warnings on Mac OS X.
380 Will merge to 'master'.
383 * jh/pre-push-sample-no-custom-ifs (2014-12-22) 1 commit
384 (merged to 'next' on 2014-12-29 at c516021)
385 + pre-push.sample: remove unnecessary and misleading IFS=' '
387 The sample pre-push hook used customized IFS=' ' for no good reason.
389 Will merge to 'master'.
392 * sb/atomic-push (2014-12-22) 7 commits
393 - t5543-atomic-push.sh: add basic tests for atomic pushes
394 - push.c: add an --atomic argument
395 - receive-pack: move execute_commands_non_atomic before execute_commands
396 - receive-pack.c: receive-pack.c: use a single ref_transaction for atomic pushes
397 - send-pack.c: add --atomic command line argument
398 - send-pack: rename ref_update_to_be_sent to check_to_send_update
399 - receive-pack.c: add protocol support to negotiate atomic-push
400 (this branch uses mh/reflog-expire.)
402 "git push" has been taught a "--atomic" option that makes push to
403 update more than one ref an "all-or-none" affair.
405 What is queued here is a few iterations old; need to pick a new one
406 up when the dust settles.
409 * sb/dco-indentation-fix (2014-12-22) 1 commit
410 (merged to 'next' on 2014-12-23 at c865690)
411 + Documentation/SubmittingPatches: unify whitespace/tabs for the DCO
413 Will merge to 'master'.
416 * sb/t5400-remove-unused (2014-12-16) 1 commit
417 (merged to 'next' on 2014-12-23 at a992011)
418 + t5400: remove dead code
420 Will merge to 'master'.
423 * tf/prompt-preserve-exit-status (2014-12-22) 1 commit
424 (merged to 'next' on 2014-12-23 at dfcd89f)
425 + git-prompt: preserve value of $? inside shell prompt
427 Using the exit status of the last command in the prompt, e.g.
428 PS1='$(__git_ps1) $? ', did not work well because the helper
429 function stomped on the exit status.
431 Will merge to 'master'.
434 * mh/reflog-expire (2014-12-22) 24 commits
435 - refs.c: let fprintf handle the formatting
436 - refs.c: don't expose the internal struct ref_lock in the header file
437 - lock_any_ref_for_update(): inline function
438 - refs.c: remove unlock_ref/close_ref/commit_ref from the refs api
439 - reflog_expire(): new function in the reference API
440 - expire_reflog(): treat the policy callback data as opaque
441 - Move newlog and last_kept_sha1 to "struct expire_reflog_cb"
442 - expire_reflog(): move rewrite to flags argument
443 - expire_reflog(): move verbose to flags argument
444 - expire_reflog(): pass flags through to expire_reflog_ent()
445 - struct expire_reflog_cb: a new callback data type
446 - Rename expire_reflog_cb to expire_reflog_policy_cb
447 - expire_reflog(): move updateref to flags argument
448 - expire_reflog(): move dry_run to flags argument
449 - expire_reflog(): add a "flags" argument
450 - expire_reflog(): extract two policy-related functions
451 - Extract function should_expire_reflog_ent()
452 - expire_reflog(): use a lock_file for rewriting the reflog file
453 - expire_reflog(): return early if the reference has no reflog
454 - expire_reflog(): rename "ref" parameter to "refname"
455 - expire_reflog(): it's not an each_ref_fn anymore
456 - refs.c: add a function to append a reflog entry to a fd
457 - refs.c: make ref_transaction_delete a wrapper for ref_transaction_update
458 - refs.c: make ref_transaction_create a wrapper for ref_transaction_update
459 (this branch is used by sb/atomic-push.)
461 Restructure "reflog expire" to fit the reflogs better with the
462 recently updated ref API.
464 Looked reasonable (except that some shortlog entries stood out like
468 * po/doc-core-ignorestat (2015-01-06) 3 commits
470 - doc: core.ignoreStat update, and clarify the --assume-unchanged effect
471 (merged to 'next' on 2014-12-23 at d2b3e84)
472 + doc: core.ignoreStat clarify the --assume-unchanged effect
474 Will merge to 'next' after squashing in the fixup.
477 * jk/add-i-read-error (2014-12-15) 1 commit
478 (merged to 'next' on 2014-12-23 at 9b76001)
479 + add--interactive: leave main loop on read error
481 "git add -i" did not notice when the interactive command input
482 stream went away and kept asking.
484 Will merge to 'master'.
487 * pd/completion-filenames-fix (2014-12-15) 1 commit
488 (merged to 'next' on 2014-12-23 at e2b10ab)
489 + Update documentation occurrences of filename .sh
491 The top-of-the-file instruction for completion scripts (in contrib/)
492 did not name the files correctly.
494 Will merge to 'master'.
497 * rd/send-email-2047-fix (2014-12-15) 2 commits
498 (merged to 'next' on 2014-12-23 at 2b101ce)
499 + send-email: handle adjacent RFC 2047-encoded words properly
500 + send-email: align RFC 2047 decoding more closely with the spec
502 "git send-email" did not handle RFC 2047 encoded headers quite
505 Will merge to 'master'.
508 * jc/push-to-checkout (2014-12-01) 2 commits
509 - receive-pack: support push-to-checkout hook
510 - receive-pack: refactor updateInstead codepath
512 Extending the js/push-to-deploy topic, the behaviour of "git push"
513 when updating the working tree and the index with an update to the
514 branch that is checked out can be tweaked by push-to-checkout hook.
519 * lh/send-email-hide-x-mailer (2014-12-15) 2 commits
520 (merged to 'next' on 2014-12-23 at fc16c68)
521 + test/send-email: --[no-]xmailer tests
522 + send-email: add --[no-]xmailer option
524 "git send-email" normally identifies itself via X-Mailer: header
525 in the message it sends out. A new command line flag allows the
526 header to be squelched.
528 Will merge to 'master'.
531 * nd/list-files (2014-12-01) 19 commits
532 - list-files: -M aka diff-cached
533 - list-files -F: show submodules with the new indicator '&'
534 - list-files: add -F/--classify
535 - list-files: show directories as well as files
536 - list-files: do not show duplicate cached entries
537 - list-files: sort output and remove duplicates
538 - list-files: add -t back
539 - list-files: add -1 short for --no-column
540 - list-files: add -R/--recursive short for --max-depth=-1
541 - list-files: -u does not imply showing stages
542 - list-files: a user friendly version of ls-files and more
543 - ls-files: support --max-depth
544 - ls-files: add --column
545 - ls-files: add --color to highlight file names
546 - ls-files: buffer full item in strbuf before printing
547 - ls_colors.c: highlight submodules like directories
548 - ls_colors.c: add a function to color a file name
549 - ls_colors.c: parse color.ls.* from config file
550 - ls_colors.c: add $LS_COLORS parsing code
552 A new "git list-files" Porcelain command, "ls-files" with bells and
558 * nd/multiple-work-trees (2014-12-01) 34 commits
559 - git-common-dir: make "modules/" per-working-directory directory
560 - checkout: do not fail if target is an empty directory
561 - t2025: add a test to make sure grafts is working from a linked checkout
562 - checkout: don't require a work tree when checking out into a new one
563 - git_path(): keep "info/sparse-checkout" per work-tree
564 - count-objects: report unused files in $GIT_DIR/worktrees/...
565 - gc: support prune --worktrees
566 - gc: factor out gc.pruneexpire parsing code
567 - gc: style change -- no SP before closing parenthesis
568 - checkout: clean up half-prepared directories in --to mode
569 - checkout: reject if the branch is already checked out elsewhere
570 - prune: strategies for linked checkouts
571 - checkout: support checking out into a new working directory
572 - use new wrapper write_file() for simple file writing
573 - wrapper.c: wrapper to open a file, fprintf then close
574 - setup.c: support multi-checkout repo setup
575 - setup.c: detect $GIT_COMMON_DIR check_repository_format_gently()
576 - setup.c: convert check_repository_format_gently to use strbuf
577 - setup.c: detect $GIT_COMMON_DIR in is_git_directory()
578 - setup.c: convert is_git_directory() to use strbuf
579 - git-stash: avoid hardcoding $GIT_DIR/logs/....
580 - *.sh: avoid hardcoding $GIT_DIR/hooks/...
581 - git-sh-setup.sh: use rev-parse --git-path to get $GIT_DIR/objects
582 - $GIT_COMMON_DIR: a new environment variable
583 - commit: use SEQ_DIR instead of hardcoding "sequencer"
584 - fast-import: use git_path() for accessing .git dir instead of get_git_dir()
585 - reflog: avoid constructing .lock path with git_path
586 - *.sh: respect $GIT_INDEX_FILE
587 - git_path(): be aware of file relocation in $GIT_DIR
588 - path.c: group git_path(), git_pathdup() and strbuf_git_path() together
589 - path.c: rename vsnpath() to do_git_path()
590 - git_snpath(): retire and replace with strbuf_git_path()
591 - path.c: make get_pathname() call sites return const char *
592 - path.c: make get_pathname() return strbuf instead of static buffer
594 A replacement for contrib/workdir/git-new-workdir that does not
595 rely on symbolic links and make sharing of objects and refs safer
596 by making the borrowee and borrowers aware of each other.
599 * jk/approxidate-avoid-y-d-m-over-future-dates (2014-11-13) 2 commits
600 (merged to 'next' on 2014-12-15 at 397e986)
601 + approxidate: allow ISO-like dates far in the future
602 + pass TIME_DATE_NOW to approxidate future-check
604 Traditionally we tried to avoid interpreting date strings given by
605 the user as future dates, e.g. GIT_COMMITTER_DATE=2014-12-10 when
606 used early November 2014 was taken as "October 12, 2014" because it
607 is likely that a date in the future, December 10, is a mistake.
609 Loosen this and do not tiebreak by future-ness of the date when
611 (1) ISO-like format is used, and
612 (2) the string can make sense interpreted as both y-m-d and y-d-m.
614 Will merge to 'master'.
617 * br/imap-send-verbosity (2014-11-05) 1 commit
618 (merged to 'next' on 2014-12-15 at 504af0b)
619 + imap-send: use parse options API to determine verbosity
620 (this branch is used by br/imap-send-via-libcurl and km/imap-send-libcurl-options.)
622 Will merge to 'master'.
625 * br/imap-send-via-libcurl (2014-11-10) 1 commit
626 (merged to 'next' on 2014-12-15 at 90db637)
627 + git-imap-send: use libcurl for implementation
628 (this branch is used by km/imap-send-libcurl-options; uses br/imap-send-verbosity.)
630 Newer libCurl knows how to talk IMAP; "git imap-send" has been
631 updated to use this instead of a hand-rolled OpenSSL calls.
633 Will merge to 'master'.
636 * nd/lockfile-absolute (2014-11-03) 1 commit
637 (merged to 'next' on 2014-12-15 at 34db9af)
638 + lockfile.c: store absolute path
640 The lockfile API can get confused which file to clean up when the
641 process moved the $cwd after creating a lockfile.
643 Will merge to 'master'.
646 * jc/merge-bases (2014-10-30) 2 commits
647 (merged to 'next' on 2014-12-15 at cac279e)
648 + get_merge_bases(): always clean-up object flags
649 + bisect: clean flags after checking merge bases
651 The get_merge_bases*() API was easy to misuse by careless
652 copy&paste coders, leaving object flags tainted in the commits that
653 needed to be traversed.
655 Will merge to 'master'.
658 * jc/strbuf-add-lines-avoid-sp-ht-sequence (2014-10-27) 1 commit
659 (merged to 'next' on 2014-12-15 at b499889)
660 + strbuf_add_commented_lines(): avoid SP-HT sequence in commented lines
662 The commented output used to blindly add a SP before the payload
663 line, resulting in "# \t<indented text>\n" when the payload began
664 with a HT. Instead, produce "#\t<indented text>\n".
666 Will merge to 'master'.
669 * nd/untracked-cache (2015-01-06) 24 commits
670 - fixup! untracked cache: load from UNTR index extension
671 - untracked cache: guard and disable on system changes
672 - mingw32: add uname()
673 - t7063: tests for untracked cache
674 - update-index: test the system before enabling untracked cache
675 - update-index: manually enable or disable untracked cache
676 - status: enable untracked cache
677 - untracked-cache: temporarily disable with $GIT_DISABLE_UNTRACKED_CACHE
678 - untracked cache: mark index dirty if untracked cache is updated
679 - untracked cache: print stats with $GIT_TRACE_UNTRACKED_STATS
680 - untracked cache: avoid racy timestamps
681 - read-cache.c: split racy stat test to a separate function
682 - untracked cache: invalidate at index addition or removal
683 - untracked cache: load from UNTR index extension
684 - untracked cache: save to an index extension
685 - ewah: add convenient wrapper ewah_serialize_strbuf()
686 - untracked cache: don't open non-existent .gitignore
687 - untracked cache: mark what dirs should be recursed/saved
688 - untracked cache: record/validate dir mtime and reuse cached output
689 - untracked cache: make a wrapper around {open,read,close}dir()
690 - untracked cache: invalidate dirs recursively if .gitignore changes
691 - untracked cache: initial untracked cache validation
692 - untracked cache: record .gitignore information and dir hierarchy
693 - dir.c: optionally compute sha-1 of a .gitignore file
698 * jc/diff-b-m (2014-10-23) 1 commit
699 (merged to 'next' on 2014-12-15 at 59c6636)
700 + diff -B -M: fix output for "copy and then rewrite" case
702 Fix long-standing bug in "diff -B -M" output.
704 Will merge to 'master'.
707 * jc/checkout-local-track-report (2014-10-14) 1 commit
708 (merged to 'next' on 2014-12-15 at e91a7df)
709 + checkout: report upstream correctly even with loosely defined branch.*.merge
711 The report from "git checkout" on a branch that builds on another
712 local branch by setting its branch.*.merge to branch name (not a
713 full refname) incorrectly said that the upstream is gone.
715 Will merge to 'master'.
718 * jc/clone-borrow (2014-10-15) 1 commit
719 (merged to 'next' on 2014-12-15 at 08fdf77)
720 + clone: --dissociate option to mark that reference is only temporary
722 Allow "git clone --reference" to be used more safely.
724 Will merge to 'master'.
726 --------------------------------------------------