Merge branch 'jk/no-more-pre-exec-callback' into pu

On hold for 6 months until ancient "less" goes extinct.

# By Jeff King
* jk/no-more-pre-exec-callback:
  pager: drop "wait for output to run less" hack
Merge branch 'js/submodule-relative' into pu

Makes "git submodule" deal with nested submodule structure where a
module is contained within a module whose origin is specified as a
relative URL to its superproject's origin.

Not urgent; probably early post 1.7.11.

# By Jon Seymour (4) and Johannes Sixt (1)
* js/submodule-relative:
  t7400: avoid path mangling issues
  submodule: fix handling of superproject origin URLs like foo, ./foo and ./foo/bar
  submodule: fix sync handling of some relative superproject origin URLs
  submodule: document failure to handle relative superproject origin URLs
  submodule: additional regression tests for relative URLs
Merge branch 'jk/no-op-push-message' into pu

Rewords the status message of "git push" that pushed only one ref
differently from "Everything up-to-date", to give a bit more help to
people who get the message when their current branch is not pushed.

I had an impression after the discussion thread that a redesign is
coming, but it hasn't happened yet.

# By Jeff King
* jk/no-op-push-message:
  improve no-op push output
Merge branch 'nl/http-proxy-more' into pu

I queued only the later two patches from this series, even though they do
not make much sense without the first one that seems to need a bit more
work, so that we won't forget.

# By Jeff King (1) and Nelson Benitez Leon (1)
* nl/http-proxy-more:
  http: rename HTTP_REAUTH to HTTP_AUTH_RETRY
  http: Avoid limit of retrying request only twice
Merge branch 'sg/bash-prompt' into pu

This is only the "correction" bits taken from the beginning of a larger
series that is to be rerolled.  The first two are tangled with Felipe's
topic so a reroll, if comes, should build on top of them.

# By SZEDER Gábor
* sg/bash-prompt:
  completion: respect $GIT_DIR
  completion: use __gitdir() in _git_log()
  tests: add tests for the bash prompt functions in the completion script
  tests: move code to run tests under bash into a helper library
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 'jc/apply-3way' into pu

"git apply" learns to wiggle the base version and perform three-way merge
when a patch does not exactly apply to the version you have.

Waiting for comments.

* jc/apply-3way:
  apply --3way: tests
  apply: document --3way option
  apply: allow rerere() upon --3way results
  apply: register conflicted stages to the index
  apply: --3way with add/add conflict
  apply: move verify_index_match() higher
  apply: plug the three-way merge logic in
  apply: fall back on three-way merge
  apply: accept -3/--3way command line option
  apply: move "already exists" logic to check_to_create()
  apply: move check_to_create_blob() closer to its sole caller
  apply: further split load_preimage()
  apply: refactor "previous patch" logic
  apply: split load_preimage() helper function out
  apply: factor out checkout_target() helper function
  apply: refactor read_file_or_gitlink()
  apply: clear_image() clears things a bit more
  apply: a bit more comments on PATH_TO_BE_DELETED
  apply: fix an incomplete comment in check_patch()

Conflicts:
	builtin/apply.c
Merge branch 'jc/maint-push-refs-all' into pu

Allows pushing and fetching refs/stash.
There still seem to be other bugs hiding (e.g. try pushing twice).

Not ready.

* jc/maint-push-refs-all:
  get_fetch_map(): tighten checks on dest refs
  fetch/push: allow refs/*:refs/*
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:
	builtin/pack-objects.c
	streaming.c
	t/t1050-large.sh
Merge branch 'nd/exclude-workaround-top-heavy' into pu

Attempts to optimize matching with an exclude pattern with a deep
directory hierarchy by taking the part that specifies leading path
without wildcard literally.

# By Nguyễn Thái Ngọc Duy
* nd/exclude-workaround-top-heavy:
  exclude: do strcmp as much as possible before fnmatch
  dir.c: get rid of the wildcard symbol set in no_wildcard()
  Unindent excluded_from_list()
Merge branch 'db/vcs-svn' into pu

I'd take Jonathan's clean-up offer and keep this on hold until
1.7.11 final.

# By David Barr
* db/vcs-svn:
  vcs-svn: drop no-op reset methods
  vcs-svn: fix signedness warnings
  vcs-svn: prefer strstr over memmem
  vcs-svn: prefer constcmp to prefixcmp
  vcs-svn: simplify cleanup in apply_one_window()
  vcs-svn: fix clang-analyzer error
Merge branch 'jc/rev-list-simplify-merges-first-parent' into pu

I need to send this out to the list for re-review.

* jc/rev-list-simplify-merges-first-parent:
  revision: ignore side parents while running simplify-merges
  revision: note the lack of free() in simplify_merges()
  revision: "simplify" options imply topo-order sort
Merge branch 'fc/git-prompt-script' into pu

The last remaining sticking point is what to do with the duplicated
shell function.  Together with the warning patch at the tip, if we
side port the tip commit from sg/bash-prompt, I think this will be
ready for testing.

# By Felipe Contreras (2) and Junio C Hamano (1)
* fc/git-prompt-script:
  completion: warn people about duplicated function
  completion: split __git_ps1 into a separate script
  completion: remove executable mode
Merge branch 'hv/remote-end-hung-up' into pu

Still being discussed.

* hv/remote-end-hung-up:
  lessen the impression of unexpectedness on remote hangup

Conflicts:
	t/t5512-ls-remote.sh
Merge branch 'vr/use-our-perl-in-tests' into pu

Need to export PERL_PATH from test-lib.sh; there also seem to be
quiet a few bare calls to 'perl' that were forgotten.

# By Junio C Hamano (2) and Vincent van Ravesteijn (1)
* vr/use-our-perl-in-tests:
  t/README: add a bit more Don'ts
  tests: enclose $PERL_PATH in duoble quotes
  t: Replace 'perl' by $PERL_PATH
Merge branch 'jk/diff-no-index-pager' into pu

# By Jeff King
* jk/diff-no-index-pager:
  do not run pager with diff --no-index --quiet
  fix pager.diff with diff --no-index
Merge branch 'jn/perl-makemaker-leading-paths' into pu

# By Jonathan Nieder
* jn/perl-makemaker-leading-paths:
  perl/Makefile: move "mkdir -p" to module installation loop for maintainability
Merge branch 'jc/maint-commit-tree-synopsis' into pu

* jc/maint-commit-tree-synopsis:
  git-commit-tree(1): update synopsis
Merge branch 'mm/verify-filename-fix' into pu

# By Matthieu Moy
* mm/verify-filename-fix:
  verify_filename(): ask the caller to chose the kind of diagnosis
  sha1_name: do not trigger detailed diagnosis for file arguments
Merge branch 'jc/sha1-name-more' into pu

* jc/sha1-name-more:
  sha1_name.c: get_describe_name() by definition groks only commits
  sha1_name.c: teach get_short_sha1() a commit-only option
  sha1_name.c: allow get_short_sha1() to take other flags
  sha1_name.c: teach find_short_packed_object() a commit-only option
  sha1_name.c: teach find_short_object_filename() a commit-only option
  sha1_name.c: refactor find_short_packed_object()
  sha1_name.c: rename "now" to "current"
  sha1_name.c: clarify what "fake" is for in find_short_object_filename()
  sha1_name.c: indentation fix