From a0c9016abd566e9a8f988dcd387663cd0b2be078 Mon Sep 17 00:00:00 2001 From: Jonathan Tan Date: Fri, 6 Jul 2018 12:34:09 -0700 Subject: upload-pack: send refs' objects despite "filter" A filter line in a request to upload-pack filters out objects regardless of whether they are directly referenced by a "want" line or not. This means that cloning with "--filter=blob:none" (or another filter that excludes blobs) from a repository with at least one ref pointing to a blob (for example, the Git repository itself) results in output like the following: error: missing object referenced by 'refs/tags/junio-gpg-pub' and if that particular blob is not referenced by a fetched tree, the resulting clone fails fsck because there is no object from the remote to vouch that the missing object is a promisor object. Update both the protocol and the upload-pack implementation to include all explicitly specified "want" objects in the packfile regardless of the filter specification. Signed-off-by: Jonathan Tan Signed-off-by: Junio C Hamano --- object.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'object.h') diff --git a/object.h b/object.h index 5c13955000..cf8da6ba83 100644 --- a/object.h +++ b/object.h @@ -27,7 +27,7 @@ struct object_array { /* * object flag allocation: - * revision.h: 0---------10 26 + * revision.h: 0---------10 2526 * fetch-pack.c: 0----5 * walker.c: 0-2 * upload-pack.c: 4 11----------------19 -- cgit v1.2.3