Merge branch 'master' into next

By Jonathan Nieder (3) and others
* master:
  t5701: modernize style
  git-p4: Clean up branch test cases
  git-p4: Verify detection of "empty" branch creation
  git-p4: Test changelists touching two branches
  git-svn: make Git::SVN::Fetcher a separate file
  git-svn: rename SVN::Git::* packages to Git::SVN::*
  git-svn: move Git::SVN::Prompt into its own file
Merge branch 'jk/blame-tree' into HEAD

* jk/blame-tree:
  blame-tree wip
Merge branch 'jk/builtin-attr' into HEAD

* jk/builtin-attr:
  attr: drop C/C++ default extension mapping
  attr: map builtin userdiff drivers to well-known extensions
Merge branch 'jk/bundle-fetch' into HEAD

* jk/bundle-fetch:
  clone: give advice on how to resume a failed clone
  remote-curl: resume interrupted bundle transfers
  remote-curl: show progress for bundle downloads
  progress: allow pure-throughput progress meters
  remote-curl: try base $URL after $URL/info/refs
  remote-curl: auto-detect bundles when fetching refs
  remote-curl: free "discovery" object
  bundle: add is_bundle_buf helper
  transport: factor out bundle to ref list conversion
  remote-curl: use http callback for requesting refs
  http: add a public function for arbitrary-callback request
  http: refactor http_request function
  http: turn off curl signals
  t/lib-httpd: check for NO_CURL
Merge branch 'jk/cache-patch-id' into HEAD

* jk/cache-patch-id:
  cache patch ids on disk
  cherry: read default config
  implement metadata cache subsystem
  map: implement persistent maps
  decorate: use "map" for the underlying implementation
  fast-export: use object to uint32 map instead of "decorate"
  implement generic key/value map
Merge branch 'jk/child-cleanup' into HEAD

* jk/child-cleanup:
  send-pack: kill pack-objects helper on signal or exit
Merge branch 'jk/clone-file-local' into HEAD

* jk/clone-file-local:
  clone: send diagnostic messages to stderr
  clone: allow --no-local to turn off local optimizations
  docs/clone: mention that --local may be ignored
Merge branch 'jk/config-sources' into HEAD

* jk/config-sources:
  show sources of config options (WIP)
Merge branch 'jk/describe' into HEAD

* jk/describe:
  describe WIP
Merge branch 'jk/dumpstat' into HEAD

* jk/dumpstat:
  zeromq dumpstat implementation
  dumpstat-ify upload-pack
  dumpstat to fd
  dumpstat
Merge branch 'jk/external-odb' into HEAD

* jk/external-odb:
  fetch-pack: advertise external odb blobs
  external odb foreach
  external odb work in progress
Merge branch 'jk/fast-commit-list' into HEAD

* jk/fast-commit-list:
  fetch-pack: use priority queue for mark_complete
  commit: add infrastructure for priority queues of commits
  basic priority queue implementation
Merge branch 'jk/fetch-tracking' into HEAD

* jk/fetch-tracking:
  fetch tracking wip
Merge branch 'jk/filter-branch-example' into HEAD

* jk/filter-branch-example:
  docs/filter-branch: clean up newsubdir example
  update-index: add --clear option
Merge branch 'jk/generations' into HEAD

* jk/generations:
  limit "contains" traversals based on commit generation
  check commit generation cache validity against grafts
  pretty: support %G to show the generation number of a commit
  commit: add commit_generation function

Conflicts:
	metadata-cache.c
	metadata-cache.h
Merge branch 'jk/ignore-have' into HEAD

* jk/ignore-have:
  receive-pack: respect receive.advertiseAlternates config
Merge branch 'jk/leading-symlinks' into HEAD

* jk/leading-symlinks:
  don't cross submodule boundaries in add
Merge branch 'jk/pager' into HEAD

* jk/pager:
  support pager.* for aliases
Merge branch 'jk/pager-subcommand' into HEAD

* jk/pager-subcommand:
  show git tag output in pager
Merge branch 'jk/preapprove-helper-credentials' into HEAD

* jk/preapprove-helper-credentials:
  credential: store and relay unknown credential lines
  add credential-wrap
  credential: do not store credentials received from helpers