Merge branch 'hv/remote-end-hung-up' into jch

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.

Will merge to 'master'.

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

Conflicts:
	t/t5512-ls-remote.sh
Merge branch 'mm/push-default-switch-warning' into jch

Hopefully we can have a solidly tested series early in 1.7.12 or
1.7.13 at the latest.

# By Matthieu Moy
* mm/push-default-switch-warning:
  push: start warning upcoming default change for push.default
Merge branch 'th/diff-no-index-fixes' into jch

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

Will merge to 'master'.

# 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 'nd/clone-single-fix' into jch

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

Will merge to 'master'.

# By Nguyễn Thái Ngọc Duy
* nd/clone-single-fix:
  clone: fix ref selection in --single-branch --branch=xxx
Merge branch 'jn/perl-makemaker-leading-paths' into jch

Minor build tweak.  People who do not use ExtUtils::MakeMaker may
want to test this before it hits the 'master' branch.

# By Johannes Sixt (1) and Jonathan Nieder (1)
* jn/perl-makemaker-leading-paths:
  perl/Makefile: Fix a missing double-quote
  perl/Makefile: move "mkdir -p" to module installation loop for maintainability
Merge branch 'mm/config-xdg' into jch

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

Will merge to 'next'.

# 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 'mm/credential-plumbing' into jch

Expose the credential API to scripted Porcelain writers.

Will merge to 'next'.

# By Matthieu Moy (2) and Javier Roucher Iglesias (1)
* mm/credential-plumbing:
  git-remote-mediawiki: add credential support
  git credential fill: output the whole 'struct credential'
  add 'git credential' plumbing command
Merge branch 'rj/platform-pread-may-be-thread-unsafe' into jch

On Cygwin, the platform pread(3) is not thread safe, just like our
own compat/ emulation, and cannot be used in the index-pack program.

* rj/platform-pread-may-be-thread-unsafe:
  index-pack: Disable threading on cygwin
Merge branch 'cw/no-detaching-an-unborn' into jch

"git checkout --detach" when you are still on an unborn branch
should be forbidden, but it wasn't.

Will merge to 'next'.

# By Chris Webb
* cw/no-detaching-an-unborn:
  git-checkout: disallow --detach on unborn branch
Merge branch 'cw/rebase-i-root' into jch

"git rebase [-i] --root $tip" can now be used to rewrite all the
history down to the root.

Will merge to 'next'.

* cw/rebase-i-root:
  Add tests for rebase -i --root without --onto
  rebase -i: support --root without --onto

Conflicts:
	Documentation/git-rebase.txt
	git-rebase.sh
	t/t3404-rebase-interactive.sh
Merge branch 'mz/rebase-no-mbox' into jch

Teach "am --rebasing" codepath to grab authorship, log message and
the patch text directly out of existing commits.

Will merge to 'next'.

* mz/rebase-no-mbox:
  am: don't call mailinfo if $rebasing
  am --rebasing: get patch body from commit, not from mailbox
  rebase --root: print usage on too many args
  rebase: don't source git-sh-setup twice

Conflicts:
	t/t3412-rebase-root.sh
Merge branch 'js/fast-export-paths-with-spaces' into jch

"git fast-export" produced an input stream for fast-import without
properly quoting pathnames when they contain SPs in them.

Will merge to 'next'.

# By Jay Soffian
* js/fast-export-paths-with-spaces:
  fast-export: quote paths with spaces
Merge branch 'mm/mediawiki-file-attachments' into jch

"mediawiki" remote helper (in contrib/) learned to handle file
attachments.

Will merge to 'next'.

# By Matthieu Moy (3) and others
* mm/mediawiki-file-attachments:
  git-remote-mediawiki: import "File:" attachments
  git-remote-mediawiki: split get_mw_pages into smaller functions
  git-remote-mediawiki: send "File:" attachments to a remote wiki
  git-remote-mediawiki: don't "use encoding 'utf8';"
  git-remote-mediawiki: don't compute the diff when getting commit message
Merge branch 'pw/git-p4-tests' into jch

More "git p4" tests.

Will merge to 'next'.

# By Pete Wyckoff
* pw/git-p4-tests:
  git p4 test: fix badp4dir test
  git p4 test: split up big t9800 test
  git p4 test: cleanup_git should make a new $git
  git p4 test: copy source indeterminate
  git p4 test: check for error message in failed test
  git p4 test: rename some "git-p4 command" strings
  git p4 test: never create default test repo
  git p4 test: simplify quoting involving TRASH_DIRECTORY
  git p4 test: use real_path to resolve p4 client symlinks
  git p4 test: wait longer for p4d to start and test its pid
Merge branch 'mz/empty-rebase-test' into jch

We did not have test to make sure "git rebase" without extra options
filters out an empty commit in the original history.

# By Martin von Zweigbergk
* mz/empty-rebase-test:
  add test case for rebase of empty commit
Merge branch 'tb/sanitize-decomposed-utf-8-pathname' into jch

Teaches git to normalize pathnames read from readdir(3) and all
arguments from the command line into precomposed UTF-8 (assuming
that they come as decomposed UTF-8) to work around issues on Mac OS.

I think there still are other places that need conversion
(e.g. paths that are read from stdin for some commands), but this
should be a step in the right direction.

Will merge to 'next'.

# By Torsten Bögershausen
* tb/sanitize-decomposed-utf-8-pathname:
  git on Mac OS and precomposed unicode
Merge branch 'jc/apply-3way' into jch

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

Will merge to 'next' after reading it over once again.

* 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 'tr/maint-show-walk' into jch

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.

Waiting for response from original author.

# 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 'jk/version-string-dependency' into jch

Will keep in 'pu' to give Peff and Jonathan to work out improvements
for a week or so.

# By Jeff King
* jk/version-string-dependency:
  Makefile: move GIT-VERSION-FILE dependencies closer to use
  Makefile: build instaweb similar to other scripts
  Makefile: update scripts when build-time parameters change
  Makefile: do not replace @@GIT_VERSION@@ in shell scripts
  Makefile: split prefix flags from GIT-CFLAGS
  Makefile: split GIT_USER_AGENT from GIT-CFLAGS
  Makefile: do not replace @@GIT_USER_AGENT@@ in scripts
  Makefile: apply dependencies consistently to sparse/asm targets
  Makefile: do not have git.o depend on common-cmds.h
  Makefile: fold MISC_H into LIB_H
  Makefile: sort LIB_H list
Merge branch 'vr/use-our-perl-in-tests' into jch

Some implementations of Perl terminates "lines" with CRLF even when
the script is operating on just a sequence of bytes.  Make sure to
use "$PERL_PATH", the version of Perl the user told Git to use, in
our tests to avoid unnecessary breakages in tests.

# By Junio C Hamano (3) and Vincent van Ravesteijn (1)
* vr/use-our-perl-in-tests:
  t/README: add a bit more Don'ts
  tests: enclose $PERL_PATH in double quotes
  t/test-lib.sh: export PERL_PATH for use in scripts
  t: Replace 'perl' by $PERL_PATH