logoalt Hacker News

You can run Git on object storage if you re-make packfiles

45 pointsby evacchilast Wednesday at 5:16 PM14 commentsview on HN

Comments

andrewayletttoday at 9:31 AM

`git update-server-info` is your friend; it generates the auxiliary files needed to allow clients to make range requests against packs.

For example: https://andrewaylett.github.io/rgitweb/ is a repository viewer that runs against a static git repo. It doesn't care what you're storing the pack in, just that the data is there to make the right range requests.

0bytestoday at 7:04 AM

4th submission in 3 days. Is this a marketing spam campaign?

show 2 replies
mgrandltoday at 6:10 AM

Sweet. It’s kinda wild to me that this hasn’t been done. Would be so much nicer if gitlab/forgejo/gitea/… supported object storage for everything. Currently you always still need a filesystem for git repos.

show 3 replies
mmastractoday at 5:37 AM

Nice. I saw some git-on-durable-objects projects but I'd so much prefer a straight object storage option.

jiggawattstoday at 6:34 AM

Next: replace whole-file hashes with a Merkle Patricia tree hash and enable BitTorrent-like distribution protocols on top, not to mention the deduplication advantages!

hanwenntoday at 6:56 AM

"Finally delta objects should be stored as their own object in the packfile instead of slapped onto the end of the object it’s a delta of so that you don’t have to read the object and its deltas to read the object in the first place."

Author thinks that delta encoding is there for no reason. Good luck, kid.

uptownhrtoday at 8:03 AM

I created my own as well and powers agentgit.co

show 1 reply