Merge branch 'jc/fmt-merge-msg-people' into pu

Rerolled.

The "fmt-merge-msg" command learns to list the primary contributors
involved in the side topic you are merging.

Will defer til 1.7.10.

* jc/fmt-merge-msg-people:
  fmt-merge-msg: show those involved in a merged series
Merge branch 'dg/test-from-elsewhere' into pu

Better support for out-of-tree test scripts, but it appears that the
approach needs to be rethought.  By repointing TEST_DIRECTORY to a
directory other than $(pwd)/.., an out of place test script can reach
test helpers and freshly built Git relative to it (GIT_BUILD_DIR is
a mere short-hand for $TEST_DIRECTORY/..).

* dg/test-from-elsewhere:
  Support out-of-tree Valgrind tests
  Allow overriding GIT_BUILD_DIR
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.

Will defer til 1.7.10.

* nl/http-proxy-more:
  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 'jc/advise-push-default' into pu

Peff had a good suggestion outlining an updated code structure so
that somebody new can try to dip his or her toes in the development.
Any takers?

* jc/advise-push-default:
  push: hint to use push.default=upstream when appropriate
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.

* 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 'hv/submodule-recurse-push' into pu

The bottom one was not clearly explained and needs a reroll.

* hv/submodule-recurse-push:
  push: teach --recurse-submodules the on-demand option
  Refactor submodule push check to use string list instead of integer
  Teach revision walking machinery to walk multiple times sequencially

Conflicts:
	transport.h
Merge branch 'nd/columns' into pu

Rerolled again.  Modulo minor nits, looked nicer than the previous round.

* nd/columns:
  column: support grouping entries
  column: support "denser" mode
  ls-files: support --column
  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
Merge branch 'nd/optim-connected' into pu

Optimizes the local connectivity check performed by "git fetch" and "git
receive-pack" that is run in response to "git push".

* nd/optim-connected:
  {fetch,receive}-pack: skip sha-1 integrity test on objects from new pack
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:
  fixup?
  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
  varint-in-pack: refactor varint encoding/decoding

Conflicts:
	t/t1050-large.sh
Merge branch 'jh/apply-free-patch' into pu

Will defer til 1.7.10.

* jh/apply-free-patch:
  apply: do not leak patches and fragments
Merge branch 'sl/customize-sane-tool-path' into pu

Would be nice to hear from people who actually use autoconf, either
on Solaris or other platforms.

* sl/customize-sane-tool-path:
  configure: allow user to prevent $PATH "sanitization" on Solaris
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.  It also conflicts with the long-stalled
jc/advise-push-default topic and for a good reason---they address a
similar issue.  The latter is a lower impact patch that uses a more
focused approach to limit the scope to the target audience that
actually needs help.

* mm/push-default-switch-warning:
  push: start warning upcoming default change for push.default

Conflicts:
	builtin/push.c
Merge branch 'ab/perl-i18n' into pu

Attempts to help installations with ancient Perl and/or without
MakeMaker.  Didn't quite work for me, so I tried to queue a fix-up
commit, but an independent confirmation report is needed before it
is squashed into Ævar's patches.

* ab/perl-i18n:
  fixup! de1e4ae
  perl/Makefile: install Git::I18N under NO_PERL_MAKEMAKER
  Git::I18N: compatibility with perl <5.8.3
Merge branch 'jn/maint-fast-import-empty-ls' into pu

fast-import did not diagnose "ls ''" that asks an empty path
as an error.

* jn/maint-fast-import-empty-ls:
  fast-import: don't allow 'ls' of path with empty components
  fast-import: leakfix for 'ls' of dirty trees
Merge branch 'jc/run-hook-env-1' (early part) into pu

* 'jc/run-hook-env-1' (early part):
  run_hook(): enhance the interface to pass arbitrary environment
Merge branch 'jc/diff-algo-cleanup' into pu

Resurrects the preparatory clean-up patches from another topic
that was discarded.

* jc/diff-algo-cleanup:
  xdiff: PATIENCE/HISTOGRAM are not independent option bits
  xdiff: remove XDL_PATCH_* macros
Merge branch 'nd/threaded-index-pack' into pu

Another reroll after a bugreport on pthread usage discovered by
Ramsey.

* nd/threaded-index-pack:
  index-pack: support multithreaded delta resolving
  index-pack: split second pass obj handling into own function
Merge branch 'jh/notes-merge-in-git-dir-worktree' into pu

Running "notes merge --commit" failed to perform correctly when run
from any directory inside $GIT_DIR/.  When "notes merge" stops with
conflicts, $GIT_DIR/NOTES_MERGE_WORKTREE is the place a user edits
to resolve it.

Not urgent.

* jh/notes-merge-in-git-dir-worktree:
  notes-merge: use opendir/readdir instead of using read_directory()
  t3310: illustrate failure to "notes merge --commit" inside $GIT_DIR/
Merge branch 'jn/diffstat-tests' into pu

Some tests checked the "diff --stat" output when they do not have to,
which unnecessarily made things harder to verify under GETTEXT_POISON.
Not urgent.

* jn/diffstat-tests:
  diffstat summary line varies by locale: miscellany
  test: use numstat instead of diffstat in binary-diff test
  test: use --numstat instead of --stat in "git stash show" tests
  test: test cherry-pick functionality and output separately
  test: modernize funny-names test style
  test: use numstat instead of diffstat in funny-names test
  test: use test_i18ncmp when checking --stat output
Merge branch 'tr/maint-word-diff-regex-sticky' into pu

The regexp configured with wordregex was incorrectly reused across
files.
Not urgent.

* tr/maint-word-diff-regex-sticky:
  diff: tweak a _copy_ of diff_options with word-diff
  diff: refactor the word-diff setup from builtin_diff_cmd
  t4034: diff.*.wordregex should not be "sticky" in --word-diff