Merge branch 'jk/repack-no-explode-objects-from-old-pack' into pu

By Jeff King
* jk/repack-no-explode-objects-from-old-pack:
  gc: use argv-array for sub-commands
  argv-array: add a new "pushl" method
  argv-array: refactor empty_argv initialization
Merge branch 'fc/completion-tests' into pu

By SZEDER Gábor
* fc/completion-tests:
  tests: add tests for the __gitcomp() completion helper function
Merge branch 'tr/xdiff-fast-hash' into pu

Will merge to 'next'.

By Thomas Rast
* tr/xdiff-fast-hash:
  xdiff: load full words in the inner loop of xdl_hash_record
Merge branch 'cb/http-multi-curl-auth' into pu

Fixes http authentication breakage when we keep multiple HTTP requests in
flight using curl-multi.

Will merge to 'next'.

By Jeff King (3) and Clemens Buchacher (1)
* cb/http-multi-curl-auth:
  http: use newer curl options for setting credentials
  http: clean up leak in init_curl_http_auth
  fix http auth with multiple curl handles
  http auth fails with multiple curl handles
Merge branch 'zj/upstream-error-message' into pu

Rerolled.

By Zbigniew Jędrzejewski-Szmek
* zj/upstream-error-message:
  i18n: mark @{upstream} error messages for translation
  Be more specific if upstream branch is not tracked
  Provide better message for barnhc_wiht_tpyo@{u}
  Provide branch name in error message when using @{u}
  t1507: add tests to document @{upstream} behaviour
Merge branch 'nl/http-proxy-more' into pu

The code to talk to http proxies learn to use the same credential
API used to talk to the final http destinations.  This still needs
to peek into $ENV{HTTPS_PROXY}.

By Nelson Benitez Leon (5) and Jeff King (1)
* nl/http-proxy-more:
  http: fix proxy authentication
  http: rename HTTP_REAUTH to HTTP_AUTH_RETRY
  http: Avoid limit of retrying request only twice
  http: handle proxy authentication failure (error 407)
  http: handle proxy proactive authentication
  http: try http_proxy env var when http.proxy config option is not set
Merge branch 'mm/push-default-switch-warning' into pu

This resurrects an ancient patch I wrote during a discussion we had in the
1.6.3-1.6.4 era.  This should probably come after ct/advise-push-default
topic and at that point the advise messages need to be rephrased, taking
the future default change into account.

By Clemens Buchacher (1) and Matthieu Moy (1)
* mm/push-default-switch-warning:
  t5570: use explicit push refspec
  push: start warning upcoming default change for push.default

Conflicts:
	builtin/push.c
Merge branch 'jc/split-blob' into pu

Not ready.

I finished the streaming checkout codepath, but as explained in
127b177 (bulk-checkin: support chunked-object encoding, 2011-11-30),
these are still early steps of a long and painful journey. At least
pack-objects and fsck need to learn the new encoding for the series
to be usable locally, and then index-pack/unpack-objects needs to
learn it to be used remotely.

Given that I heard a lot of noise that people want large files, and
that I was asked by somebody at GitTogether'11 privately for an
advice on how to pay developers (not me) to help adding necessary
support, I am somewhat dissapointed that the original patch series
that was sent almost two months ago still remains here without much
comments and updates from the developer community. I even made the
interface to the logic that decides where to split chunks easily
replaceable, and I deliberately made the logic in the original patch
extremely stupid to entice others, especially the "bup" fanboys, to
come up with a better logic, thinking that giving people an easy
target to shoot for, they may be encouraged to help out. The plan is
not working :-(.

* jc/split-blob:
  chunked-object: streaming checkout
  chunked-object: fallback checkout codepaths
  bulk-checkin: support chunked-object encoding
  bulk-checkin: allow the same data to be multiply hashed
  new representation types in the packstream
  packfile: use varint functions

Conflicts:
	t/t1050-large.sh
Merge branch 'jc/run-hook-env-1' into pu

Not urgent.

Updates run_hook() API to be much less specific to "commit".  It would
only be useful if people start doing more interesting things with hooks.

* jc/run-hook-env-1:
  run_hook(): enhance the interface to pass arbitrary environment
Merge branch 'th/difftool-diffall' into pu

Rolls the two-directory-diff logic from diffall script (in contrib/) into
"git difftool" framework.

Still being reworked.

By Tim Henigan
* th/difftool-diffall:
  difftool: print list of valid tools with '--tool-help'
  difftool: teach difftool to handle directory diffs
  difftool: eliminate setup_environment function
  difftool: stop appending '.exe' to git
  difftool: remove explicit change of PATH
  difftool: exit(0) when usage is printed
  difftool: add '--no-gui' option
  difftool: parse options using Getopt::Long
Merge branch 'nd/threaded-index-pack' into pu

J6t reports breakage on msysgit.

By Nguyễn Thái Ngọc Duy (2) and Ramsay Jones (1)
* nd/threaded-index-pack:
  index-pack: support multithreaded delta resolving
  index-pack: split second pass obj handling into own function
  compat/win32/pthread.h: Add an pthread_key_delete() implementation
Merge branch 'nd/columns' into pu

Rerolled.

By Nguyễn Thái Ngọc Duy
* nd/columns:
  tag: add --column
  column: support piping stdout to external git-column process
  status: add --column
  branch: add --column
  help: reuse print_columns() for help -a
  column: add dense layout support
  column: add columnar layout
  Stop starting pager recursively
  Add column layout skeleton and git-column

Conflicts:
	builtin/branch.c
Merge branch 'cb/daemon-test-race-fix' into pu

Fix race condition between starting and waiting for git-daemon in the
test.

By Clemens Buchacher
* cb/daemon-test-race-fix:
  git-daemon wrapper to wait until daemon is ready
Merge branch 'lp/diffstat-with-graph' into pu

The end result looked reasonable but the series needs a bit of squashing
here and there.

By Lucian Poston (5) and Zbigniew Jędrzejewski-Szmek (1)
* lp/diffstat-with-graph:
  Prevent graph_width of stat width from falling below min
  t4052: Test diff-stat output with minimum columns
  t4052: Adjust --graph --stat output for prefixes
  Adjust stat width calculations to take --graph output into account
  Add output_prefix_length to diff_options
  t4052: test --stat output with --graph
Merge branch 'ss/git-svn-prompt-sans-terminal' into pu

The bottom one has been replaced with a rewrite based on comments
from Ævar. The second one needs more work, both in perl/Git.pm and
prompt.c, to give precedence to tty over SSH_ASKPASS when terminal
is available.

Will discard shortly if nothing happens.

By Sven Strickroth (2) and Junio C Hamano (1)
* ss/git-svn-prompt-sans-terminal:
  fixup! 15eaaf4
  git-svn, perl/Git.pm: extend Git::prompt helper for querying users
  perl/Git.pm: "prompt" helper to honor GIT_ASKPASS and SSH_ASKPASS
Merge branch 'nh/empty-rebase' into pu

By Neil Horman
* nh/empty-rebase:
  git-rebase: add keep_empty flag
  git-cherry-pick: add test to validate new options
  git-cherry-pick: add "--keep-redundant-commits" option
  git-cherry-pick: add allow-empty option
Merge branch 'mb/fetch-call-a-non-branch-a-ref' into pu

Replacement to use the origin side to paint the message broke badly.

By Marc Branchaud
* mb/fetch-call-a-non-branch-a-ref:
  fetch: describe new refs based on where it came from
  fetch: Give remote_ref to update_local_ref() as well

Conflicts:
	builtin/fetch.c
Merge branch 'lt/octopus-simplify' into pu

Octopus merge strategy did not reduce heads that are recorded in the final
commit, but follow-up broke badly.

By Michał Kiedrowicz (2) and Linus Torvalds (1)
* lt/octopus-simplify:
  git-merge: Reduce heads before trying to merge them
  Make 'git merge' simplify parents earlier
  merge tests: octopus with redundant parents

Conflicts:
	t/t7602-merge-octopus-many.sh
Merge branch 'jc/merge-reduce-parents-early' into pu

This deals with the same issue as lt/octopus-simplify, but in a bit more
systematic way.

* jc/merge-reduce-parents-early:
  builtin/merge.c: reduce parents early
  builtin/merge.c: collect other parents early
  builtin/merge.c: remove "remoteheads" global variable

Conflicts:
	builtin/merge.c
Merge branch 'bw/spawn-via-shell-path' into pu

"sh" on the user's PATH may be utterly broken on some systems;
consistently use SHELL_PATH even from inside run-command API.

By Johannes Sixt
* bw/spawn-via-shell-path:
  Do not use SHELL_PATH from build system in prepare_shell_cmd on Windows