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.0 required=3.0 tests=AWL,BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,RCVD_IN_DNSWL_HI,RCVD_IN_SORBS_SPAM, RP_MATCHES_RCVD shortcircuit=no autolearn=no 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 5BB4D20281 for ; Tue, 3 Oct 2017 06:15:37 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751117AbdJCGPf (ORCPT ); Tue, 3 Oct 2017 02:15:35 -0400 Received: from mail-it0-f47.google.com ([209.85.214.47]:55095 "EHLO mail-it0-f47.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750830AbdJCGPe (ORCPT ); Tue, 3 Oct 2017 02:15:34 -0400 Received: by mail-it0-f47.google.com with SMTP id e134so10061547ite.3 for ; Mon, 02 Oct 2017 23:15:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=drKcMUzKcaH6+WK7GR5Ap31KrIm//4t8bQ7IMETCafA=; b=gRDtrliaJ9GsR7jzBfeXrC2nB1FO2lIcxJdczu/Ns5OEAFNMsdTLMF4Ff2wYY4ai5w mFj94g+M4QWazKHDRm7t9ZsGv3UBFN9NBz8MRv79bYDnf9StAqIgZ7INbs8dZjpSHiFm 5W3dkMl7ztE65Ojx0MzJGAJcu4xkkuqO88xxkeM7ZwtpjTgyyEy5fv2jSCphJ+MfWuNo 972P6uyOzE7TEaoSyNCnJpAEgoSkQ53GkPoHUNB0r9JIHKS4rlMouQgsyyYIoq9euKcg RD2X2qQ+U8hyg8TiCaAG7G+v4zhDwCr3rMgAl6dQ6pcGb/I2UDyf8YvHEKmFWPu2Hk7V Qaug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=drKcMUzKcaH6+WK7GR5Ap31KrIm//4t8bQ7IMETCafA=; b=Ro9ljI9oZM8qjhQDzj5TUK+UtzSFU4BxABweda4gMIlb7HxD9n9SCE5/GDPpygnCwI yADfYFNuZopXBTwRoozsQcMb2p9TOoHNaPlrd1jKBgrccxI5jXxcssMnya1JnJsZOdGs FWynHuBM+F+3IT/rVLJPYBYmNJoXI4a98HghfRSkqYSUNBtFCvvKnMaE9tEQiCK0aKpI cIMVBgb0GMvtDwVK/0DrfdGK8MIG68Np6OQJaoz7VTEXE0fL3KK4sQcHoMK1pQ6IiHj3 wSprfIXXN37DO0wAYXga1LX9iIkkZgTEvhGsVtWZ1Z8qaoRL58diaAOJ3FCdXRcO9L9X VbiQ== X-Gm-Message-State: AMCzsaVwkqyUDUgws6sYcTagPxf6o8/4i7o5E8OgPs6PYhxnVpul2Jk+ WuIJ1IziHtn5pCSgI1lQ+QbdNFvusHsRDcNUuvs= X-Google-Smtp-Source: AOwi7QC72W1PUUz+b2VhMktSicojPqsTZGGsU4S/PQCf07VJXqUOtwJDDmqs7dhinTQ7rXaFCcc0cuiaunNT/DDoMes= X-Received: by 10.36.11.197 with SMTP id 188mr21089749itd.42.1507011334178; Mon, 02 Oct 2017 23:15:34 -0700 (PDT) MIME-Version: 1.0 Received: by 10.79.142.216 with HTTP; Mon, 2 Oct 2017 23:15:33 -0700 (PDT) In-Reply-To: References: From: Christian Couder Date: Tue, 3 Oct 2017 08:15:33 +0200 Message-ID: Subject: Re: [PATCH 00/18] Partial clone (from clone to lazy fetch in 18 patches) To: Jonathan Tan Cc: git , Junio C Hamano , Jeff Hostetler , Ben Peart Content-Type: text/plain; charset="UTF-8" Sender: git-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org On Fri, Sep 29, 2017 at 10:11 PM, Jonathan Tan wrote: > These patches are also available online: > https://github.com/jonathantanmy/git/commits/partialclone3 > > (I've announced it in another e-mail, but am now sending the patches to the > mailing list too.) > > Here's an update of my work so far. Notable features: > - These 18 patches allow a user to clone with --blob-max-bytes=, > creating a partial clone that is automatically configured to lazily > fetch missing objects from the origin. The local repo also has fsck > working offline, and GC working (albeit only on locally created > objects). > - Cloning and fetching is currently only able to exclude blobs by a > size threshold, but the local repository is already capable of > fetching missing objects of any type. For example, if a repository > with missing trees or commits is generated by any tool (for example, > a future version of Git), current Git with my patches will still be > able to operate on them, automatically fetching those missing trees > and commits when needed. > - Missing blobs are fetched all at once during checkout. Could you give a bit more details about the use cases this is designed for? It seems that when people review my work they want a lot of details about the use cases, so I guess they would also be interesting in getting this kind of information for your work too. Could this support users who would be interested in lazily cloning only one kind of files, for example *.jpeg?