Skip to content

Add radicle-git#404

Open
lorenzleutgeb wants to merge 1 commit intomultiformats:masterfrom
radicle-dev:radicle-git
Open

Add radicle-git#404
lorenzleutgeb wants to merge 1 commit intomultiformats:masterfrom
radicle-dev:radicle-git

Conversation

@lorenzleutgeb
Copy link
Copy Markdown

@lorenzleutgeb lorenzleutgeb commented May 5, 2026

Radicle is an open source, peer-to-peer code collaboration stack built on Git.

Repositories are addressed by hashing their initial "Repository Identity Document".

In order to allow addressing repositories by CIDs, reserve a new code.

For example, we currently use rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5 to address the repository which you can view on the web at https://radicle.network/nodes/seed.radicle.dev/rad%3Az3gqcJUoA1n9HaHKufZs5FCSGazv5.
The identifier here is what we call a "Repository Identifier" and it is a plain base56btc encoding of a special Git object in that repository.

With the imminent introduction of SHA-256 as the default object format/hash function in Git 3, we plan to introduce more flexibility into our repository identifier scheme. CIDs with this multicodec code look very promising.

Radicle <https://radicle.dev> is an open source, peer-to-peer code
collaboration stack built on Git.

Repositories are addressed by hashing their initial
"Repository Identity Document".

In order to allow addressing repositories by CIDs, reserve a new code.
@2color
Copy link
Copy Markdown

2color commented May 5, 2026

Since the hash that we intend to encode in the CID is of a Git object, I wonder if it makes sense for us to use raw-git:

git-raw, ipld, 0x78, permanent, Raw Git object

@lorenzleutgeb
Copy link
Copy Markdown
Author

lorenzleutgeb commented May 5, 2026

I am not sure in how far semantics matter in this case. Sure, both things seem to capture SHA-1 and SHA-256 hashes, with the intention of identifying a Git object. But what about the intent/semantics of wanting to address a repository? This differs from the intent to address an object. Maybe someone can weigh in on how to balance such semantic differences.

For example, I have relatively good knowledge about what it would mean to address a Radicle repository (this currently happens, just using different syntax). But TBH I have little clue about how the git-raw codec is to be interpreted.

@vmx
Copy link
Copy Markdown
Member

vmx commented May 6, 2026

This PR reminded me of the discussion at #203 about adding a custom code, although things are really Git.

In regards to what IPLD codecs are, see my comment at #204 (comment).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants