From: Jonathan Tan Date: Fri, 21 Sep 2018 18:22:38 +0000 (-0700) Subject: fetch: in partial clone, check presence of targets X-Git-Tag: v2.20.0-rc0~159^2 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/35f9e3e5e7a6436b50a8709e7e14a65a10cc1e7a?hp=35f9e3e5e7a6436b50a8709e7e14a65a10cc1e7a fetch: in partial clone, check presence of targets When fetching an object that is known as a promisor object to the local repository, the connectivity check in quickfetch() in builtin/fetch.c succeeds, causing object transfer to be bypassed. However, this should not happen if that object is merely promised and not actually present. Because this happens, when a user invokes "git fetch origin " on the command-line, the object may not actually be fetched even though the command returns an exit code of 0. This is a similar issue (but with a different cause) to the one fixed by a0c9016abd ("upload-pack: send refs' objects despite "filter"", 2018-07-09). Therefore, update quickfetch() to also directly check for the presence of all objects to be fetched. Its documentation and name are also updated to better reflect what it does. Signed-off-by: Jonathan Tan Signed-off-by: Junio C Hamano ---