I taught a bucket to speak Git

43 points - today at 4:04 PM

Source

Comments

nolist_policy today at 6:12 PM
If you want to store a git repo on S3, you can that with git-annex[1] today. It can do client side encryption and large files as well.

[1] https://git-annex.branchable.com

ctoth today at 4:49 PM
Came here for a five-gallon bucket hooked to Dulwich (archiving rain?), Slightly disappointed :)

Go Git and Dulwich and friends are indeed fun tech.

Eikon today at 5:06 PM
Most of the pain here is the typical set of issues people run into trying to make S3 a filesystem as-is, common with S3FS-family approaches.

ZeroFS (https://github.com/Barre/zerofs) is 9P/NFS/NBD over S3 on an LSM. Point stock go-git, or just /usr/bin/git, at a mount and skip the gymnastics. Rename is a metadata op in the keyspace, so you get it atomic on any S3—no Tigris-specific X-Tigris-Rename needed.

Different point on the spectrum, but less square-peg, also most probably much, much faster (it works great on linux-sized repos) :)