Merge branch 'jc/format-patch' into pu

A new option to send a single patch to the standard output to be
appended at the bottom of a message.  I personally have no need for
this, but it was easy enough to cobble together.  Tests, docs and
stripping out more MIMEy stuff are left as exercises to interested
parties.

* jc/format-patch:
  format-patch: --inline-single
  format-patch: rename "no_inline" field
Merge branch 'mg/qnx6' into pu

* mg/qnx6:
  QNX: newer QNX 6.x.x is not so crippled
Merge branch 'mb/gitweb-highlight-link-target' into pu

$gmane/211935

* mb/gitweb-highlight-link-target:
  Highlight the link target line in Gitweb using CSS
Merge branch 'mb/remote-default-nn-origin' into pu

When the user does not specify what remote to interact with, we
often attempt to use 'origin'.  This can now be customized via a
configuration variable.

$gmane/210151

"The first remote becomes the default" bit is better done as a
separate step.

* mb/remote-default-nn-origin:
  Teach get_default_remote to respect remote.default.
  Test that plain "git fetch" uses remote.default when on a detached HEAD.
  Teach clone to set remote.default.
  Teach "git remote" about remote.default.
  Teach remote.c about the remote.default configuration setting.
  Rename remote.c's default_remote_name static variables.

# Conflicts:
# 	builtin/remote.c
# 	t/t5505-remote.sh
Merge branch 'hv/config-from-strbuf' into pu

$gmane/217811

* hv/config-from-strbuf:
  teach config parsing to read from strbuf
  config: make parsing stack struct independent from actual data source
  config: drop file pointer validity check in get_next_char()
  config: factor out config file stack management
Merge branch 'po/help-guides' into pu

Give more visibility to "concept guides" to help "git help" users.

$gmane/217384

* po/help-guides:
  help doc: include --guide option description
  help.c: add list_common_guides_help() function
  help.c: add --guide option
  help.c: use OPT_COUNTUP
  show 'git help <guide>' usage, with examples
Merge branch 'jc/merge-tag-object' into pu

"git merge $(git rev-parse v1.8.2)" behaved quite differently from
"git merge v1.8.2" as if v1.8.2 were written as v1.8.2^0 and did
not pay much attention to the annotated tag payload.

This makes the code notice the type of the tag object, in addition
to the dwim_ref() based classification the current code uses
(i.e. the name appears in refs/tags/) to decide when to special
case merging of tags.

We may actually want to call the current behaviour a feature,
though.  After all, the user went to great length to feed something
different from the normal "v1.8.2" to the command.

* jc/merge-tag-object:
  merge: a random object may not necssarily be a commit
Merge branch 'jn/push-tests' into pu

Update t5516 with style fixes.

* jn/push-tests:
  push test: rely on &&-chaining instead of 'if bad; then echo Oops; fi'
  push test: simplify check of push result
  push test: use test_config when appropriate

# Conflicts:
# 	t/t5516-fetch-push.sh
Merge branch 'jk/index-pack-correct-depth-fix' into pu

"index-pack --fix-thin" used uninitialize value to compute delta
depths of objects it appends to the resulting pack.

* jk/index-pack-correct-depth-fix:
  index-pack: always zero-initialize object_entry list
Merge branch 'nd/index-pack-threaded-fixes' into pu

"index-pack --verify-stat" used a few counters outside protection
of mutex, possibly showing incorrect numbers.

* nd/index-pack-threaded-fixes:
  index-pack: guard nr_resolved_deltas reads by lock
  index-pack: protect deepest_delta in multithread code
Merge branch 'rr/tests-dedup-test-config' into pu

* rr/tests-dedup-test-config:
  t4018,7810,7811: remove test_config() redefinition

# Conflicts:
# 	t/t7810-grep.sh
Merge branch 'kb/status-ignored-optim' into pu

"git status --ignored" had many corner case bugs.  Also the command
has been optimized by taking advantage of the fact that paths that
are already known to the index do not have to be checked against
the .gitignore mechanism most of the time.

status but also in add and clean, so a bug in it can result in lost
data.

* kb/status-ignored-optim:
  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 and factor out parts of last_exclude_matching
  dir.c: git-status --ignored: don't list empty directories as ignored
  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
Merge branch 'nd/magic-pathspecs' into pu

Migrate the rest of codebase to use "struct pathspec" more.

* nd/magic-pathspecs: (46 commits)
  fixup
  Rename field "raw" to "_raw" in struct pathspec
  pathspec: support :(glob) syntax
  pathspec: make --literal-pathspecs disable pathspec magic
  pathspec: support :(literal) syntax for noglob pathspec
  Kill limit_pathspec_to_literal() as it's only used by parse_pathspec()
  parse_pathspec: preserve prefix length via PATHSPEC_PREFIX_ORIGIN
  parse_pathspec: make sure the prefix part is wildcard-free
  tree-diff: remove the use of pathspec's raw[] in follow-rename codepath
  Remove match_pathspec() in favor of match_pathspec_depth()
  Remove init_pathspec() in favor of parse_pathspec()
  Remove diff_tree_{setup,release}_paths
  Convert common_prefix() to use struct pathspec
  Convert add_files_to_cache to take struct pathspec
  Convert {read,fill}_directory to take struct pathspec
  Convert refresh_index to take struct pathspec
  Convert report_path_error to take struct pathspec
  checkout: convert read_tree_some to take struct pathspec
  Convert unmerge_cache to take struct pathspec
  Convert run_add_interactive to use struct pathspec
  ...
Merge branch 'ja/directory-attrs' into pu

Expose but not fix a recent regression that started not matching a
directory "sub" with gitattributes pattern "sub" (without trailing
slash).

* ja/directory-attrs:
  trailing slash required in .gitattributes
Merge branch 'tr/line-log' into pu

Rerolled; collides with nd/magic-pathspecs.
Does not seem to pass its own test (t4211-line-log.sh).

* tr/line-log:
  Speed up log -L... -M
  log -L: :pattern:file syntax to find by funcname
  Implement line-history search (git log -L)
  Export rewrite_parents() for 'log -L'
  fixup
  Refactor parse_loc
Merge branch 'jk/t7800-modernize' into pu

* jk/t7800-modernize:
  t7800: run --dir-diff tests with and without symlinks
  t7800: fix tests when difftool uses --no-symlinks
  t7800: don't hide grep output

# Conflicts:
# 	t/t7800-difftool.sh
Merge branch 'tb/cygwin-shared-repository' into pu

* tb/cygwin-shared-repository:
  optimize set_shared_perm()
  Make core.sharedRepository work under cygwin 1.7
Merge branch 'jk/check-corrupt-objects-carefully' into pu

* jk/check-corrupt-objects-carefully:
  clone: run check_everything_connected
  clone: die on errors from unpack_trees
  add tests for cloning corrupted repositories
  streaming_write_entry: propagate streaming errors
  add test for streaming corrupt blobs
  avoid infinite loop in read_istream_loose
  read_istream_filtered: propagate read error from upstream
  check_sha1_signature: check return value from read_istream
  stream_blob_to_fd: detect errors reading from stream