Replying to Avatar fiatjaf

OK, already answered here: nostr:nevent1qqs8uc0ls5h9tz6kqkmgl04jam4lhrnndnr5jmtdfj8u52nu9wjsqdcppemhxue69uhkummn9ekx7mp0qy2hwumn8ghj7un9d3shjtnyv9kh2uewd9hj7z8vglz

But is it really that slow? It's hard for me to believe it is that slow since on my terminal it runs so fast!

We discussed it back in March and here are some numbers for the bitcoin core repo:

nostr:nevent1qvzqqqqqqypzpgqgmmc409hm4xsdd74sf68a2uyf9pwel4g9mfdg8l5244t6x4jdqythwumn8ghj7un9d3shjtnwdaehgu3wvfskuep0qy88wumn8ghj7mn0wvhxcmmv9uqzqrkcuwkawt7hqkcxkye63cl9e5flp26v90z8tggmpqe8rwkdper52zgmr6

tbh those numbers are not that big. last time I checked, git implementations in the browser don't support these advanced flags. doing a full clone automatically in the browser is probably a bad idea as it is unfair on those who are bandwidth constrained.

But this could be done statelessly on a server fairly quickly. bandwidth on a VPS is probably quite cheap these days so if traffic volumes were low it shouldn't be too expensive.

Depending on the bandwidth vs storage costs it could be worth storing a clone of repositories and using that instead. That way it would be easier, or cheaper per interaction, to allow browsing commits, metadata, etc.

From a decentralisation point of view, I could build `ngit serve` which could be used instead (even in offline scenarios) instead of the proxy.

Reply to this note

Please Login to reply.

Discussion

You could have a button to clone and display files, maybe?

What library would you use in the browser to do a clone?

I did

git clone --no-checkout --depth 1 --filter=blob:none https://github.com/bitcoin/bitcoin

and got 216K, ahahah.

O yeah?! I'm at a loss to think how I didn't try that before. This is the way.