Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[feature request] compression for local disk backend #32

Open
greyltc opened this issue Jun 15, 2021 · 2 comments
Open

[feature request] compression for local disk backend #32

greyltc opened this issue Jun 15, 2021 · 2 comments
Labels
enhancement New feature or request

Comments

@greyltc
Copy link

greyltc commented Jun 15, 2021

Thanks very much for the local backend option, it's great!

It would be pretty neat if we could turn on compression (zstd maybe?) for the locally stored files.

@jasonwhite
Copy link
Owner

I think this is a good idea. There are lots of types of binary files that are horribly bloated (PDBs come to mind). I think transport-level compression would be good too. I believe the Git LFS client can accept gzip compression when downloading files (although this could be implemented via a reverse proxy like nginx).

I think this only makes sense for local disk storage and it probably makes sense to implement it at that level. I'm not quite sure how it would be done with S3. In order for compression to be transparent and backwards compatible, an extended file attribute could be used to mark the LFS object as compressed. Then, the local disk backend could decompress it on-the-fly. The tricky part is implementing this in such a way so that it is done before encryption (because encryption will reduce its compressibility) and after SHA256 hash validation is done.

This is a bit of work. I don't have too much time to work on this project these days, but I am always happy to take pull requests.

@jasonwhite jasonwhite added the enhancement New feature or request label Jun 15, 2021
@greyltc
Copy link
Author

greyltc commented Apr 18, 2024

Having a way to disable encryption and then letting a filesystem with transparent compression take care of this is a nice workaround to having the (de/)compression done by rudolfs as it writes/reads files to/from the disk (in the case where you can get away without encryption, anyway).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants