Merge branch 'cc/multi-promisor'
authorJunio C Hamano <gitster@pobox.com>
Wed, 18 Sep 2019 18:50:09 +0000 (11:50 -0700)
committerJunio C Hamano <gitster@pobox.com>
Wed, 18 Sep 2019 18:50:09 +0000 (11:50 -0700)
commitb9ac6c59b82dead613b31a51c8bca4dbd441bcbe
treedc91493ac2c087053c15b7b431da943e7abe701a
parentde67293e74888be95fb499560c1b38fe05b13af7
parent4ca9474efa4fd431c07a470513e684c5b2eec34c
Merge branch 'cc/multi-promisor'

Teach the lazy clone machinery that there can be more than one
promisor remote and consult them in order when downloading missing
objects on demand.

* cc/multi-promisor:
  Move core_partial_clone_filter_default to promisor-remote.c
  Move repository_format_partial_clone to promisor-remote.c
  Remove fetch-object.{c,h} in favor of promisor-remote.{c,h}
  remote: add promisor and partial clone config to the doc
  partial-clone: add multiple remotes in the doc
  t0410: test fetching from many promisor remotes
  builtin/fetch: remove unique promisor remote limitation
  promisor-remote: parse remote.*.partialclonefilter
  Use promisor_remote_get_direct() and has_promisor_remote()
  promisor-remote: use repository_format_partial_clone
  promisor-remote: add promisor_remote_reinit()
  promisor-remote: implement promisor_remote_get_direct()
  Add initial support for many promisor remotes
  fetch-object: make functions return an error code
  t0410: remove pipes after git commands
16 files changed:
Makefile
builtin/cat-file.c
builtin/fetch.c
builtin/gc.c
builtin/repack.c
cache-tree.c
cache.h
config.c
connected.c
diff.c
packfile.c
sha1-file.c
t/t0410-partial-clone.sh
t/t5601-clone.sh
t/t5616-partial-clone.sh
unpack-trees.c