From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS31976 209.132.180.0/23 X-Spam-Status: No, score=-3.2 required=3.0 tests=AWL,BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,RCVD_IN_DNSWL_HI,RP_MATCHES_RCVD shortcircuit=no autolearn=ham autolearn_force=no version=3.4.0 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by dcvr.yhbt.net (Postfix) with ESMTP id 56F64202A0 for ; Thu, 16 Nov 2017 18:17:38 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S966653AbdKPSRg (ORCPT ); Thu, 16 Nov 2017 13:17:36 -0500 Received: from siwi.pair.com ([209.68.5.199]:46664 "EHLO siwi.pair.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S966301AbdKPSRf (ORCPT ); Thu, 16 Nov 2017 13:17:35 -0500 Received: from siwi.pair.com (localhost [127.0.0.1]) by siwi.pair.com (Postfix) with ESMTP id E88D98453C; Thu, 16 Nov 2017 13:17:34 -0500 (EST) Received: from jeffhost-ubuntu.reddog.microsoft.com (unknown [65.55.188.213]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by siwi.pair.com (Postfix) with ESMTPSA id 736F08454D; Thu, 16 Nov 2017 13:17:34 -0500 (EST) From: Jeff Hostetler To: git@vger.kernel.org Cc: gitster@pobox.com, peff@peff.net, jonathantanmy@google.com, Jeff Hostetler Subject: [PATCH v4 00/15] Parial clone part 3: clone, fetch, fetch-pack, upload-pack, and tests Date: Thu, 16 Nov 2017 18:17:08 +0000 Message-Id: <20171116181723.62033-1-git@jeffhostetler.com> X-Mailer: git-send-email 2.9.3 Sender: git-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org From: Jeff Hostetler This part 3 of a 3 part sequence partial clone. It assumes that part 1 and part 2 are in place. This patch series is labeled as V4 to keep it in sync with the corresponding V4 versions of parts 1 and 2. There was not a V3 version of this patch series. Jonathan and I independently started on this task. This is another pass at merging those efforts. So there are several places that may need refactoring and cleanup, but fewer than in the previous submission. In particular, the test cases should be squashed and new tests added. And I think we need more end-to-end tests. I'll work on those next. Jeff Hostetler (5): upload-pack: add object filtering for partial clone clone, fetch-pack, index-pack, transport: partial clone fetch: add object filtering for partial fetch remote-curl: add object filtering for partial clone partial-clone: define partial clone settings in config Jonathan Tan (10): fetch: refactor calculation of remote list pack-objects: test support for blob filtering fetch-pack: test support excluding large blobs fetch-pack: test support excluding large blobs fetch: add from_promisor and exclude-promisor-objects parameters t5500: add fetch-pack tests for partial clone t5601: test for partial clone t5500: more tests for partial clone and fetch unpack-trees: batch fetching of missing blobs fetch-pack: restore save_commit_buffer after use Documentation/config.txt | 4 + Documentation/gitremote-helpers.txt | 4 + Documentation/technical/pack-protocol.txt | 8 ++ Documentation/technical/protocol-capabilities.txt | 8 ++ builtin/clone.c | 22 ++++- builtin/fetch-pack.c | 4 + builtin/fetch.c | 93 +++++++++++++++-- cache.h | 1 + config.c | 5 + connected.c | 2 + environment.c | 1 + fetch-object.c | 27 ++++- fetch-object.h | 5 + fetch-pack.c | 17 ++++ fetch-pack.h | 2 + list-objects-filter-options.c | 110 +++++++++++++++++++-- list-objects-filter-options.h | 12 +++ remote-curl.c | 11 +++ t/t5300-pack-object.sh | 26 +++++ t/t5500-fetch-pack.sh | 115 ++++++++++++++++++++++ t/t5601-clone.sh | 101 +++++++++++++++++++ t/test-lib-functions.sh | 12 +++ transport-helper.c | 5 + transport.c | 4 + transport.h | 5 + unpack-trees.c | 22 +++++ upload-pack.c | 22 ++++- 27 files changed, 628 insertions(+), 20 deletions(-) -- 2.9.3