-
-
Notifications
You must be signed in to change notification settings - Fork 269
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Identity management #55
Comments
Here is the CLI UX I thought about, comments ? # Display current identity (any identity if <id> is specified)
git bug user [--time <time>] [<id>]
# Create a new identity
git bug user create
# Adopt an existing identity as your own
git bug user adopt <id>
# List identities
git bug user ls
# Display the current name (any identity if <id> is specified)
git bug user name [--time <time>] [<id>]
# Display the current email (any identity if <id> is specified)
git bug user email [--time <time>] [<id>]
# Display the current login (any identity if <id> is specified)
git bug user login [--time <time>] [<id>]
# Display the current avatarURL (any identity if <id> is specified)
git bug user avatarURL [--time <time>] [<id>]
# Set the current name
git bug user set name <name>
# Set the current email
git bug user set email <email>
# Set the current login
git bug user set login <login>
# Set the current avatarURL
git bug user set avatarURL <avatarURL>
# Display the current keys (any identity if <id> is specified)
git bug keys [--time <time>] [<id>]
# Manage keys (to be determined)
git bug keys import ...
git bug keys export ...
git bug keys add ...
git bug keys generate ...
git bug keys revoke ... |
#89 has been merged with the bulk of the changes, but there is a few things left to iron properly before a release can happen. |
As of now, this is pretty much done. All the core features are there, tested and working. What is left is the few command line tool to get/set particular identity fields:
|
Is there an intention to allow adopting a bridge identity that has otherwise not interacted with the particular repository? This comment is partially a way of allowing me to adopt my GitHub identity for this repo, because I'm not sure if I can merge the two if I use the exporter. Is that what |
in a fully distributed git world, this is a more important and difficult question... I feel like such decisions are really hard, and in the end will always have to be changed later on, as one did not think of everything from the start, so the most important thing in my eyes, is to use versioning, and in such a way that really everything can be changed, if deemed necessary, or even just beneficial. what is the login used for? |
EDIT: Better read a short article about DIDs, I just stumbled over W3Cs Decentralized Identifiers (DIDs):
it sounds quite optimal so far. It is still in the making though (as of mid 2020)! |
By having crypto keys. See #130
My view is that as a general UX principle git-bug should have a default that is 1) functional with little to no configuration 2) address a wide range of use cases and 3) allow to add additional constraint to restrict to a more specific use case. For this problem in particular, I think the best way would be:
It's very crude at the moment. Yes, it should be improved and stored in the repo if possible.
If by versioning you mean data model versioning, it's already there. Every piece of data stored in git has this version number. It's especially important because those are immutable. It's not really used though at the moment.
An identity's login is optional and is only meant to store the login used on the bridge that created this identity. It's just informational, to display in the UI both full name and login when available. This exist in part because Github mainly display the login (so you know people by that name) so if you don't have the login in git-bug's UI you can see names you have never seen before even though you know the people. |
Not super knowledgeable about DID but AFAIK they don't work offline ? Note that identities in git-bug is just an interface (https://github.com/MichaelMure/git-bug/blob/master/identity/interface.go). It could be replaced by another implementation someday if the need arise. |
I concluded that same thing just now before coming back here. :-) Just brainstorming here; not that I think I know how it should be.
perfect, thanks! :-) |
Closing as it's either done, outdated or non-actionable. |
Currently, each
Operation
store the author independently. While it's easier and works well for now, there is some shortcoming:So I've been thinking it could be changed for the following (rough idea):
id
for this identityNow, I'm not sure yet how these identities should be stored and distributed. a git ref for each identity ? Each required identity linked in the
OperationPack
git tree ? A master ref aggregating all known identities ?Hopefully this would be the last of the backward-incompatible change in the data model
The text was updated successfully, but these errors were encountered: