What's cooking (2015/01 #01)
[alt-git.git] / whats-cooking.txt
blob19b0121eb78fdfe2f02afe66cd42fd5efa4b426e
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
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
12 '+' are in 'next'.
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 --------------------------------------------------
24 [New Topics]
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
30  not marked as WIP.
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
34  so.
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
43  umask.
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.
55  Will merge to 'next'.
58 * km/log-usage-string-i18n (2015-01-06) 1 commit
59  - log.c: fix translation markings
61  Will merge to 'next'.
64 * rc/for-each-ref-tracking (2015-01-06) 2 commits
65  - SQUASH???
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
78  switching HOME.
80  Will merge to 'next'.
82 * sp/subtree-doc (2015-01-06) 1 commit
83  - subtree: fix AsciiDoc list item continuation
85  Will merge to 'next'.
87 --------------------------------------------------
88 [Stalled]
90 * jn/rerere-fail-on-auto-update-failure (2014-12-03) 2 commits
91  - SQUASH???
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
100  For discussion.
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
129  Expecting a reroll.
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".
158  Will perhaps drop.
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.
171  Will perhaps drop.
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
212  $gmane/250758?
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}".
229  Expecting a reroll.
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.
261  Will hold.
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 --------------------------------------------------
274 [Cooking]
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"
311  is already defined.
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
369  option to rev-list.
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
465  a sore thumb).
468 * po/doc-core-ignorestat (2015-01-06) 3 commits
469  - SQUASH???
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
503  right.
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.
516  Needs docs.
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
553  whistles.
555  Comments?
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
695  Comments?
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 --------------------------------------------------
727 [Discarded]