git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Cleanup tool for old blobs in partial clone
@ 2020-12-11 12:03 Miłosz Kosobucki
  2020-12-13 10:10 ` Christian Couder
  0 siblings, 1 reply; 3+ messages in thread
From: Miłosz Kosobucki @ 2020-12-11 12:03 UTC (permalink / raw)
  To: git

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

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Cleanup tool for old blobs in partial clone
  2020-12-11 12:03 Cleanup tool for old blobs in partial clone Miłosz Kosobucki
@ 2020-12-13 10:10 ` Christian Couder
  2020-12-15 21:41   ` Miłosz Kosobucki
  0 siblings, 1 reply; 3+ messages in thread
From: Christian Couder @ 2020-12-13 10:10 UTC (permalink / raw)
  To: Miłosz Kosobucki; +Cc: git

Hi,

On Fri, Dec 11, 2020 at 3:07 PM Miłosz Kosobucki <mikom3@gmail.com> wrote:
>
> 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.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Cleanup tool for old blobs in partial clone
  2020-12-13 10:10 ` Christian Couder
@ 2020-12-15 21:41   ` Miłosz Kosobucki
  0 siblings, 0 replies; 3+ messages in thread
From: Miłosz Kosobucki @ 2020-12-15 21:41 UTC (permalink / raw)
  To: Christian Couder; +Cc: git

Hello Christian.

On 13.12.2020 11:10, Christian Couder wrote:
> 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

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-12-15 21:42 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-11 12:03 Cleanup tool for old blobs in partial clone Miłosz Kosobucki
2020-12-13 10:10 ` Christian Couder
2020-12-15 21:41   ` Miłosz Kosobucki

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).