Merge branch 'jk/archive-reachability' into HEAD

* jk/archive-reachability:
  t5000: drop tag to supposedly unreachable object
  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/author-info-leak' into HEAD

* jk/author-info-leak:
  determine_author_info: stop leaking name/email
  determine_author_info: reuse parsing functions
  use strbufs in date functions
  ident_split: store begin/end pairs in their own struct
  record_author_info: use find_commit_header
  record_author_info: fix memory leak on malformed commit
  commit: provide a function to find a header in a buffer

Conflicts:
	commit.c
Merge branch 'jk/bitmap-reuse-delta' into HEAD

* jk/bitmap-reuse-delta:
  preferred base reuse wip
  pack-objects: reuse deltas for thin "have" objects
  pack-bitmap: save "have" bitmap from walk
  t/perf: add perf tests for fetches from a bitmapped server
  t/perf: add infrastructure for measuring sizes
  t/perf/aggregate: factor our percent calculations
  t/perf-lib: factor boilerplate out of test_perf
Merge branch 'jk/bitmaps' into HEAD

* jk/bitmaps:
  wip -- better protection against corruption
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/child-cleanup' into HEAD

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

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

* jk/contains-merge-base:
  pos fixup
  perf: add tests for tag --contains
  tag: use commit_contains
  commit: provide a fast multi-tip contains function
  string-list: add pos to iterator callback
  add functions for memory-efficient bitmaps
  paint_down_to_common: use prio_queue
  tag: factor out decision to stream tags
  tag: allow --sort with -n

Conflicts:
	Makefile
Merge branch 'jk/credential-interactive' into HEAD

* jk/credential-interactive:
  wip
Merge branch 'jk/diff-binary-fast' into HEAD

* jk/diff-binary-fast:
  diff: peek when auto-detecting binary files
  diff: only load binary files if we are going to diff them
  diff: refactor guessing from diff_filespec_is_binary
  diff: compare hashes to determine identical binary files
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/follow-multiple' into HEAD

* jk/follow-multiple:
  log: allow multiple pathspecs with --follow

Conflicts:
	tree-diff.c
Merge branch 'jk/git-dir-debug' into HEAD

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

* jk/helper-errors:
  print an error when remote helpers die during capabilities
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
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