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.

Will merge to 'next'.

# 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 'hv/remote-end-hung-up' into pu

When we get disconnected while expecting a response from the remote
side because authentication failed, we issued an error message "The
remote side hung up unexpectedly."  Give hint that it may be a
permission problem in the message when we can reasonably suspect it.

* hv/remote-end-hung-up:
  remove the impression of unexpectedness when access is denied

Conflicts:
	t/t5512-ls-remote.sh
Merge branch 'jn/perl-makemaker-leading-paths' into pu

Will wait for a few days to see if somebody comes up with a more
concise and cleaner way to do this, but otherwise this looked good.

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

Teaches the object name parser that a "git describe" output is
always a commit object, to prolong the lifetime of abbreviated
object name in it.

* 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: restructure disambiguation of short names
  sha1_name.c: correct misnamed "canonical" and "res"
  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
Merge branch 'tr/maint-show-walk' into pu

Fixes "git show"'s auto-walking behaviour, and make it behave just
like "git log" does when it walks.

Note that this is different from Thomas's patch.

# By Junio C Hamano (1) and Thomas Rast (1)
* tr/maint-show-walk:
  show: fix "range implies walking"
  Demonstrate git-show is broken with ranges
Merge branch 'th/diff-no-index-fixes' into pu

"git diff --no-index" did not correctly handle relative paths and
did not correctly give exit codes when run under "--quiet" option.

# By Jeff King (1) and Tim Henigan (1)
* th/diff-no-index-fixes:
  diff-no-index: exit(1) if 'diff --quiet <repo file> <external file>' finds changes
  diff: handle relative paths in no-index
Merge branch 'mm/credential-plumbing' into pu

Expose the credential API to scripted Porcelain writers.

# By Junio C Hamano (2) and others
* mm/credential-plumbing:
  git-remote-mediawiki: add credential support
  git credential fill: output the whole 'struct credential'
  fixup! add 'git credential' plumbing command
  fixup! add 'git credential' plumbing command
  add 'git credential' plumbing command
Merge branch 'mm/config-xdg' into pu

Teach git to read various information from $XDG_CONFIG_HOME/git/ to allow
the user to avoid cluttering $HOME.

# By Huynh Khoi Nguyen Nguyen
* mm/config-xdg:
  config: write to $XDG_CONFIG_HOME/git/config file when appropriate
  Let core.attributesfile default to $XDG_CONFIG_HOME/git/attributes
  Let core.excludesfile default to $XDG_CONFIG_HOME/git/ignore
  config: read (but not write) from $XDG_CONFIG_HOME/git/config file
Merge branch 'nd/clone-single-fix' into pu

"git clone --single-branch" to clone a single branch did not limit
the cloning to the specified branch.

# By Nguyễn Thái Ngọc Duy
* nd/clone-single-fix:
  clone: fix ref selection in --single-branch --branch=xxx
Merge branch 'db/vcs-svn' into pu

Waiting for Jonathan's clean-up offered earlier.

# 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/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 '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 'vr/use-our-perl-in-tests' into pu

Needs more work.

There are still unconverted use of bare 'perl' remaining in the test
scripts, the second patch needs its title typofixed, and PERL_PATH
needs to be exported to the environment from test-lib.sh.

# 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/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.

Will discard without prejudice, unless rerolled.

# 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.

Will discard without prejudice, unless rerolled.

# 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