Separating Repository ID from Repository name

It might be convenient to separate the repository IDs from the repository name. The scenario I’m imagining is the following:

Alice and Bob share a repository with the ID “docs”. Carol and Dave also share a repository with the ID “docs”.

Now, Alice and Bob want to give Carol access to their “docs” repository. As far as I understand, this is currently impossible, as repository IDs have to be unique. Since repository IDs are also final, they can’t just change the ID and give Carol access to the repository with the changed ID. Instead, they have to create a new repository and make sure beforehand neither Alice, Bob, nor Carol already have a repository by that name.

My suggestion would be using something similar to Node IDs. They don’t need to have any cryptographic properties (at least they currently don’t), so using something like a UUID would come into mind as an obvious solution. UUIDs are Universally Unique (hence the name), and this way we don’t have to worry about giving our repositories “unused” names anymore.

2 Likes

Yeah, we could do something here. The idea has been floated that one could be able to join a cluster by inputing a string that is the repository ID plus the node ID. That could possibly be simplified by having the repository ID being machine generated.

1 Like

It’s also useful because somebody might share a repository called “My Stuff” with me, and I don’t want to see that name on me repo list, but rather something like “Alice’s Stuff”.