Merge branch 'master' into next

* master:
  Start preparing for 1.8.4.1
  Update draft release notes to 1.8.5 for the fourth batch of topics
Merge branch 'jk/archive-reachability' into HEAD

* jk/archive-reachability:
  archive: ignore blob objects when checking reachability
  list-objects: optimize "revs->blob_objects = 0" case
  upload-archive: restrict remote objects with reachability check
Merge branch 'jk/blame-tree' into HEAD

* jk/blame-tree:
  add blame-tree command
  combine-diff: zero memory used for callback filepairs
  teach tree-diff a max-depth parameter
  within_depth: fix return for empty path
Merge branch 'jk/bogus-ident-segfault' into HEAD

* jk/bogus-ident-segfault:
  fsck: check "tagger" lines
  skip_prefix: return a non-const pointer
Merge branch 'jk/builtin-attr' into HEAD

* jk/builtin-attr:
  attr: map builtin userdiff drivers to well-known extensions
Merge branch 'jk/child-cleanup' into HEAD

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

* jk/clone-stderr:
  clone: always set transport options
  clone: treat "checking connectivity" like other progress
  clone: send diagnostic messages to stderr
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/diff-funcname-context' into HEAD

* jk/diff-funcname-context:
  xdiff: find funcnames starting from changed lines

Conflicts:
	t/t4018-diff-funcname.sh
Merge branch 'jk/dumpstat' into HEAD

* jk/dumpstat:
  zeromq dumpstat implementation
  dumpstat-ify upload-pack
  dumpstat to fd
  dumpstat
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/git-dir-debug' into HEAD

* jk/git-dir-debug:
  add GIT_TRACE_GITDIR
Merge branch 'jk/ident' into HEAD

* jk/ident:
  commit: give a hint when a commit message has been abandoned
Merge branch 'jk/ignore-have' into HEAD

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

* jk/logallrefupdates:
  teach core.logallrefupdates an "always" mode

Conflicts:
	t/t1400-update-ref.sh
Merge branch 'jk/metapacks' into HEAD

* jk/metapacks:
  avoid segfault on empty metapacks
  warning fixups for duys patch
  introduce a commit metapack
  commit: look up commit info in metapack
  add git-metapack command
  introduce a commit metapack
  introduce pack metadata cache files
  strbuf: add string-chomping functions
  csum-file: make sha1write const-correct
Merge branch 'jk/pack-objects-cache' into HEAD

* jk/pack-objects-cache:
  pack-objects: optionally cache "counting objects" phase

Conflicts:
	builtin/pack-objects.c
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