fetch: forgo full connectivity check if --filter
authorJonathan Tan <jonathantanmy@google.com>
Sun, 12 Jan 2020 04:15:25 +0000 (20:15 -0800)
committerJunio C Hamano <gitster@pobox.com>
Thu, 30 Jan 2020 18:55:47 +0000 (10:55 -0800)
commit2df1aa239cd50698ab3e0c2cb18b9c1d2f0e44d7
tree1ce9d6a03e13ca4385bb9cc80f9d59521e0496a3
parent50033772d50ef3c4023d63561d20bc61db96500e
fetch: forgo full connectivity check if --filter

If a filter is specified, we do not need a full connectivity check on
the contents of the packfile we just fetched; we only need to check that
the objects referenced are promisor objects.

This significantly speeds up fetches into repositories that have many
promisor objects, because during the connectivity check, all promisor
objects are enumerated (to mark them UNINTERESTING), and that takes a
significant amount of time.

Signed-off-by: Jonathan Tan <jonathantanmy@google.com>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/fetch.c