Re: [PATCH 2/2] repack: add --filter=<filter-spec> option
- From
Christian Couder <christian.couder@gmail.com>
- Date
- Jan 30, 2022, 08:16 UTC
- Message-ID
- <CAP8UFD2z1P2-7zhyBEoSpV=KBri9qEQpho_q6RZ1+7tUNLiyHQ@mail.gmail.com>
- In-Reply-To
- <A4BAD509-FA1F-49C3-87AF-CF4B73C559F1@gmail.com>
On Sat, Jan 29, 2022 at 8:14 PM John Cai <johncai86@gmail.com> wrote:
Show 7 quoted lines
> Apologies for the lack of clarity. Indeed, I can see why this is the most important > detail of this patch to provide enough context on, as it involves deleting > objects from a full repository as you said. > > To back up a little, the goal is to be able to offload large > blobs to a separate http server. Christian Couder has a demo [1] that shows > this in detail.
You might have forgotten to provide a link for [1], also I am not sure if you wanted to link to the repo:
https://gitlab.com/chriscool/partial-clone-demo/
or the demo itself in the repo:
https://gitlab.com/chriscool/partial-clone-demo/-/blob/master/http-promisor/server_demo.txt
> If we had the following: > A. an http server to use as a generalized object store > B. a server update hook that uploads large blobs to 1.
s/1./A./
Show 5 quoted lines
> C. a git server > D. a regular job that runs `git repack --filter` to remove large > blobs from C. > > Clients would need to configure both C) and A) as promisor remotes to
Maybe s/C)/C./ and s/A)/A./
Also note that configuring A. as a promisor remote requires a remote helper.
Show 8 quoted lines
> be able to get everything. When they push new large blobs, they can > still push them to C), as B) will upload them to A), and D) will > regularly remove those large blobs from C). > > This way with a little bit of client and server configuration, we can have > a native way to support offloading large files without git LFS. > It would be more flexible as you can easily tweak which blobs are considered large > files by tweaking B) and D).
Yeah, that's the idea of the demo.
Thanks for working on this!