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:
  cat-file: print tags raw for "cat-file -p"
  fsck: check "tagger" lines
  skip_prefix: return a non-const pointer
  handle malformed dates in ident lines
Merge branch 'jk/builtin-attr' into HEAD

* jk/builtin-attr:
  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

Conflicts:
	remote-curl.c
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"
  map: add helper functions for objects as keys
  implement generic key/value map
Merge branch 'jk/canonical-utf8' into HEAD

* jk/canonical-utf8:
  utf8: accept alternate spellings of UTF-8
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
Merge branch 'jk/completion-quoting' into HEAD

* jk/completion-quoting:
  don't use quotemeta
  super speed with sed and perl
  completion: quote completions we find
  completion: improve shell expansion of items
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
  t4018: drop test_config definition

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/external-odb' into HEAD

* jk/external-odb:
  external odb foreach
  external odb work in progress

Conflicts:
	sha1_file.c
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/git-dir-debug' into HEAD

* jk/git-dir-debug:
  add GIT_TRACE_GITDIR
Merge branch 'jk/http-error-valgrind' into HEAD

* jk/http-error-valgrind:
  apache bodysize limit test
Merge branch 'jk/http-verify-packets' into HEAD

* jk/http-verify-packets:
  remote-curl: always parse incoming refs
  remote-curl: move ref-parsing code up in file
  remote-curl: pass buffer straight to get_remote_heads
  teach get_remote_heads to read from a memory buffer
  pkt-line: share buffer/descriptor reading implementation
  pkt-line: provide a LARGE_PACKET_MAX static buffer
  pkt-line: move LARGE_PACKET_MAX definition from sideband
  pkt-line: teach packet_read_line to chomp newlines
  pkt-line: provide a generic reading function with options
  pkt-line: drop safe_write function
  pkt-line: move a misplaced comment
  write_or_die: raise SIGPIPE when we get EPIPE
  upload-archive: use argv_array to store client arguments
  upload-archive: do not copy repo name
  send-pack: prefer prefixcmp over memcmp in receive_status
  fetch-pack: fix out-of-bounds buffer offset in get_ack
  upload-pack: remove packet debugging harness
  upload-pack: do not add duplicate objects to shallow list
  upload-pack: use get_sha1_hex to parse "shallow" lines

Conflicts:
	builtin/fetch-pack.c
	remote-curl.c