radicle-dev / radicle-git

Everything Radicle growing around Git
Other
35 stars 5 forks source link

radicle multiaddr support for /git #151

Open SurfingNerd opened 3 months ago

SurfingNerd commented 3 months ago

multiaddr define composable and future-proof network addresses.

Addressing a specific commit could look like this /git/5a179104a6f9e9a2c95562496c88bf514871a1d3

i came up with the idea that git could be added as a content addressed protocol, where you specify the Sha256 of the commit you want to fetch, and radicle might be the perfect backend to support this multiaddr format.

As far i understand, it is already possible with radicle to fetch a git repo with only specifying the Sha256, without knowing the repository name. it that true ? How do you guys handle the existing Sha-1 collisions ?

more about: https://github.com/multiformats/multiaddr/issues/169

any thoughts ?

FintanH commented 1 week ago

Hey, sorry about the delay in response. The radicle-git isn't for the protocol so I put it on the long finger to respond. The home for the protocol issues is at the heartwood repository. But you'd have to start using Radicle to contribute, unfortunately :P

I'll answer some of your questions here, and I'll also x-post the issue to the heartwood repo to get more eyes on it.

As far i understand, it is already possible with radicle to fetch a git repo with only specifying the Sha256, without knowing the repository name. it that true ? How do you guys handle the existing Sha-1 collisions ? A Radicle repository is identified by it's Repository ID (RID), which is indeed the SHA of it's initial metadata. The human-readable name is just there for metadata. Git uses Hardened SHA-1, which I believe results in less collisions (don't have a reference for this though).

any thoughts ?

How mature is multiaddr? It seems like it's still very much a WIP and Radicle is already experimental enough as it is -- spending all our RnD points :smile: