threads / discuss / 54811

Cleanup tool for old blobs in partial clone

Subject: Cleanup tool for old blobs in partial clone

## tl;dr

3 messages between Dec 11, 2020 and Dec 15, 2020.

replies: 2people: 2as markdown or json

Miłosz Kosobucki· Dec 11, 2020, 12:03 UTC · lore
Hello,

I recently looked into the partial clone functionality and how it could be used to replace Git LFS.

Let's say that I use partial clone where one directory is filtered out through --filter=sparse:oid=XXX. Let's also say it's a directory with big assets for a computer game.

Now, as the project progresses and new versions of assets are checked in, I'll accumulate many version of these assets as I get new versions. I won't need them though, because most of the time I'm interested only in the latest version.

So my question is: is there some tool (probably similar to git lfs prune) that will let me get rid of the blobs that I don't need anymore?

I couldn't find information about it anywhere in the docs. I vaguely remember a mention of something like that possibly being done in the future in partial clone (or maybe promisor remote?) patch mails but I couldn't find it again.

Best regards,
-- 
Miłosz Kosobucki
Christian Couder· Dec 13, 2020, 10:10 UTC · re: Miłosz Kosobucki · lore

Re: Cleanup tool for old blobs in partial clone

Hi,
On Fri, Dec 11, 2020 at 3:07 PM Miłosz Kosobucki <mikom3@gmail.com> wrote:
Show 17 quoted lines
>
> Hello,
>
> I recently looked into the partial clone functionality and how it could
> be used to replace Git LFS.
>
> Let's say that I use partial clone where one directory is filtered out
> through --filter=sparse:oid=XXX. Let's also say it's a directory with
> big assets for a computer game.
>
> Now, as the project progresses and new versions of assets are checked
> in, I'll accumulate many version of these assets as I get new versions.
> I won't need them though, because most of the time I'm interested only
> in the latest version.
>
> So my question is: is there some tool (probably similar to git lfs
> prune) that will let me get rid of the blobs that I don't need anymore?

I have been playing a bit with partial clone (see https://lore.kernel.org/git/CAP8UFD35kk10FpUnPpiAUzTHJbm=SJ-76OTmkTwBstGFe3Zgdw@mail.gmail.com/), and I started working on `git repack` and the underlying `git pack-objects`, so that `git repack -a -d --filter=...` could work. I cannot promise anything about when it will be submitted, merged, released, etc.

Also I have been working on it on the server side though, where it's ok to get rid of everything that is stored elsewhere. It might not be your case, but on the client side one might want to keep the (large) blobs that can be reached directly from the tip of some branches, which might require further work.

> I couldn't find information about it anywhere in the docs. I vaguely
> remember a mention of something like that possibly being done in the
> future in partial clone (or maybe promisor remote?) patch mails but I
> couldn't find it again.

Best, Christian.

Miłosz Kosobucki· Dec 15, 2020, 21:41 UTC · re: Christian Couder · lore

Re: Cleanup tool for old blobs in partial clone

Hello Christian.
On 13.12.2020 11:10, Christian Couder wrote:
Show 25 quoted lines
> Hi,
> 
> On Fri, Dec 11, 2020 at 3:07 PM Miłosz Kosobucki <mikom3@gmail.com> wrote:
> 
> I have been playing a bit with partial clone (see
> https://lore.kernel.org/git/CAP8UFD35kk10FpUnPpiAUzTHJbm=SJ-76OTmkTwBstGFe3Zgdw@mail.gmail.com/),
> and I started working on `git repack` and the underlying `git
> pack-objects`, so that `git repack -a -d --filter=...` could work. I
> cannot promise anything about when it will be submitted, merged,
> released, etc.
> 
> Also I have been working on it on the server side though, where it's
> ok to get rid of everything that is stored elsewhere. It might not be
> your case, but on the client side one might want to keep the (large)
> blobs that can be reached directly from the tip of some branches,
> which might require further work.
> 
>> I couldn't find information about it anywhere in the docs. I vaguely
>> remember a mention of something like that possibly being done in the
>> future in partial clone (or maybe promisor remote?) patch mails but I
>> couldn't find it again.
> 
> Best,
> Christian.
> 

Thank you very much for this detailed information, and thanks for all the great work you and the git community are doing.

Best,
-- 
Miłosz Kosobucki

← back to recent threads