Merge branch 'rt/commentchar-fmt-merge-msg' into jch

A test fix for reent update.

* rt/commentchar-fmt-merge-msg:
  t6200: avoid path mangling issue on Windows
Merge branch 'jk/a-thread-only-dies-once' into jch

A regression fix for the logic to detect die() handler triggering
itself recursively.

* jk/a-thread-only-dies-once:
  run-command: use thread-aware die_is_recursing routine
  usage: allow pluggable die-recursion checks
Merge branch 'jx/i18n-branch-error-messages' into jch

* jx/i18n-branch-error-messages:
  i18n: branch: mark strings for translation
### match next
Merge branch 'jk/doc-http-backend' into jch

Improve documentation to illustrate "push authenticated, fetch
anonymous" configuration for smart HTTP servers.

* jk/doc-http-backend:
  doc/http-backend: match query-string in apache half-auth example
  doc/http-backend: give some lighttpd config examples
  doc/http-backend: clarify "half-auth" repo configuration
Merge branch 'jl/submodule-mv' into jch

"git mv A B" when moving a submodule A does "the right thing",
inclusing relocating its working tree and adjusting the paths in
the .gitmodules file.

* jl/submodule-mv:
  rm: delete .gitmodules entry of submodules removed from the work tree
  Teach mv to update the path entry in .gitmodules for moved submodules
  Teach mv to move submodules using a gitfile
  Teach mv to move submodules together with their work trees
Merge branch 'nd/checkout-keep-sparse' into jch

Make the initial "sparse" selection of the paths more sticky across
"git checkout".

* nd/checkout-keep-sparse:
  checkout: add --ignore-skip-worktree-bits in sparse checkout mode
Merge branch 'ta/glossary' into jch

* ta/glossary:
  glossary: improve definitions of refspec and pathspec
  The name of the hash function is "SHA-1", not "SHA1"
  glossary: improve description of SHA-1 related topics
  glossary: remove outdated/misleading/irrelevant entries
Merge branch 'th/bisect-final-log' into jch

* th/bisect-final-log:
  bisect: Store first bad commit as comment in log file
Merge branch 'jk/chopped-ident' into jch

A commit object whose author or committer ident are malformed
crashed some code that trusted that a name, an email and an
timestamp can always be found in it.

* jk/chopped-ident:
  blame: handle broken commit headers gracefully
  pretty: handle broken commit headers gracefully
  cat-file: print tags raw for "cat-file -p"
Merge branch 'nd/pretty-formats' into jch

Looked sensible.

* nd/pretty-formats:
  pretty: support %>> that steal trailing spaces
  pretty: support truncating in %>, %< and %><
  pretty: support padding placeholders, %< %> and %><
  SQUASH??? review comments (round #2)
  pretty: add %C(auto) for auto-coloring
  pretty: split color parsing into a separate function
  pretty: two phase conversion for non utf-8 commits
  utf8.c: add reencode_string_len() that can handle NULs in string
  utf8.c: add utf8_strnwidth() with the ability to skip ansi sequences
  utf8.c: move display_mode_esc_sequence_len() for use by other functions
  pretty: share code between format_decoration and show_decorations
  pretty-formats.txt: wrap long lines
  pretty: get the correct encoding for --pretty:format=%e
  pretty: save commit encoding from logmsg_reencode if the caller needs it

# Conflicts:
# 	pretty.c
Merge branch 'fc/transport-helper-error-reporting' into jch

Rerolled with much more clarifications than before.

* fc/transport-helper-error-reporting:
  transport-helper: update remote helper namespace
  transport-helper: trivial code shuffle
  transport-helper: warn when refspec is not used
  transport-helper: clarify pushing without refspecs
  transport-helper: update refspec documentation
  transport-helper: clarify *:* refspec
  transport-helper: improve push messages
  transport-helper: mention helper name when it dies
  transport-helper: report errors properly
Merge branch 'jc/add-2.0-delete-default' (early part) into jch

* 'jc/add-2.0-delete-default' (early part):
  git add: rework the logic to warn "git add <pathspec>..." default change

Conflicts:
	builtin/add.c
Merge branch 'as/check-ignore' into jch

Enhance "check-ignore" (1.8.2 update) to work more like "check-attr"
over bidi-pipes.

* as/check-ignore:
  Documentation: add caveats about I/O buffering for check-{attr,ignore}
  check-ignore: allow incremental streaming of queries via --stdin
  check-ignore: move setup into cmd_check_ignore()
  check-ignore: add -n / --non-matching option
  t0008: remove duplicated test fixture data
Merge branch 'jk/remote-helper-with-signed-tags' into jch

Allows remote-helpers to declare they can handle signed tags, and
issue a warning when using those that don't.

* jk/remote-helper-with-signed-tags:
  transport-helper: add 'signed-tags' capability
  transport-helper: pass --signed-tags=warn-strip to fast-export
  fast-export: add --signed-tags=warn-strip mode

# Conflicts:
# 	t/t5801-remote-helpers.sh
Merge branch 'jn/gitweb-install-doc' into jch

Reword gitweb configuration instrutions.

* jn/gitweb-install-doc:
  gitweb/INSTALL: GITWEB_CONFIG_SYSTEM is for backward compatibility
  gitweb/INSTALL: Simplify description of GITWEB_CONFIG_SYSTEM
Merge branch 'kb/status-ignored-optim-2' into jch

Rerolls kb/status-ignored-optim topic (reverted from 'next').
With help from Karsten, conflicts with as/check-ignore topic have
been sorted out and it is now in 'pu'.

* kb/status-ignored-optim-2:
  dir.c: git-status --ignored: don't scan the work tree twice
  dir.c: git-status --ignored: don't scan the work tree three times
  dir.c: git-status: avoid is_excluded checks for tracked files
  dir.c: replace is_path_excluded with now equivalent is_excluded API
  dir.c: unify is_excluded and is_path_excluded APIs
  dir.c: move prep_exclude
  dir.c: factor out parts of last_exclude_matching for later reuse
  dir.c: git-clean -d -X: don't delete tracked directories
  dir.c: make 'git-status --ignored' work within leading directories
  dir.c: git-status --ignored: don't list empty directories as ignored
  dir.c: git-ls-files --directories: don't hide empty directories
  dir.c: git-status --ignored: don't list empty ignored directories
  dir.c: git-status --ignored: don't list files in ignored directories
  dir.c: git-status --ignored: don't drop ignored directories

# Conflicts:
# 	builtin/check-ignore.c
### hold
Merge branch 'jc/push-2.0-default-to-simple' into jch

The early bits to adjust the tests have been merged to 'master'.

* jc/push-2.0-default-to-simple:
  push: switch default from "matching" to "simple"

# Conflicts:
# 	Documentation/config.txt
# 	Documentation/git-push.txt
# 	builtin/push.c
Merge branch 'jc/add-2.0-delete-default' into jch

In Git 2.0, "git add pathspec" will mean "git add -A pathspec".  If
you did this in a working tree that tracks dir/lost and dir/another:

$ rm dir/lost
$ edit dir/another
$ git add dir

The last step will not only notices and records updated
dir/another, but also notices and records the removal of dir/lost
in the index.

Start training the users for this change to say --no-all when they
want to ignore the removal to smooth the transition hump.

* jc/add-2.0-delete-default:
  git add <pathspec>... defaults to "-A"

# Conflicts:
# 	builtin/add.c