Skip to content
This repository has been archived by the owner on Apr 29, 2024. It is now read-only.

Commit

Permalink
cob: Stabilize formats
Browse files Browse the repository at this point in the history
> I'm going to be making a set of breaking changes to COBs in order to
stabilize the data formats. This is hopefully a one-time change that
bundles various breaking changes.

All COBs have been reworked: issue, patch, id.

The changes included are:

* Revise the assign and tag actions to take a single list of
  assignees/tags to set, instead of an "add" and a "remove" list. This
  makes API usage simpler when editing issues, and simplifies the apply
  function
* Rename "tags" to "labels", and the tag action to label. This is
  because tag is confusing in the context of git, as it could mean a git
  tag. Using label removes that confusion.
* Use DIDs instead of PublicKeys for assignees -- this is more
  future-proof
* Modify the manifest file format in the COB tree. Mainly, remove the
  `history_type` key which is redundant, and use camelCase for keys
* Flatten the `Thread` actions into the parent action type
* Ensure that operations on redacted objects do not fail, since
  redactions could have happened concurrently
* Use a consistent naming scheme for actions, using `.` as separator
* Consolidate comment types and remove `CodeComment`, by adding an
  optional `location` field to `Comment`
* Add many placeholder actions that are not yet implemented

To preserve backwards compatibility, a `legacy` module is created with
the old `apply` function. When loading the manifest, we check whether it
is a legacy COB or a "stable" COB, and in the legacy case, use the
legacy code to materialize the state and then convert the object into
the stable type. Eventually, we'll delete the legacy code.
  • Loading branch information
cloudhead committed Aug 7, 2023
1 parent 885f499 commit 3bd5589
Show file tree
Hide file tree
Showing 58 changed files with 2,239 additions and 1,241 deletions.
32 changes: 16 additions & 16 deletions radicle-cli/examples/rad-id-rebase.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ delegates creating proposals concurrently.

```
$ rad id edit --title "Add Alice" --description "Add Alice as a delegate" --delegates did:key:z6MkedTZGJGqgQ2py2b8kGecfxdt2yRdHWF6JpaZC47fovFn --no-confirm
โœ“ Identity proposal '04603c0d3ea4d137487024a51c9360adfc511114' created
โœ“ Identity proposal '6b73fce909f612d5d92084b91309d73c21fea396' created
title: Add Alice
description: Add Alice as a delegate
status: โฒopenโณ
Expand Down Expand Up @@ -48,7 +48,7 @@ Quorum Reached

```
$ rad id edit --title "Add Bob" --description "Add Bob as a delegate" --delegates did:key:z6MkjchhfUsD6mmvni8mCdXHw216Xrm9bQe2mBH1P5RDjVJG --no-confirm
โœ“ Identity proposal '3f6ae4f8645c8b0cbcd35ea924df7b13aca52774' created
โœ“ Identity proposal '2bf3a85e209d10b11a65e7ed8a8085f6f18ac6bf' created
title: Add Bob
description: Add Bob as a delegate
status: โฒopenโณ
Expand Down Expand Up @@ -93,7 +93,7 @@ second proposal, then the identity would be out of date. So let's run
through that and see what happens.

```
$ rad id accept 04603c0d3ea4d137487024a51c9360adfc511114 --no-confirm
$ rad id accept 6b73fce909f612d5d92084b91309d73c21fea396 --no-confirm
โœ“ Accepted proposal โœ“
title: Add Alice
description: Add Alice as a delegate
Expand Down Expand Up @@ -137,7 +137,7 @@ Quorum Reached
```

```
$ rad id commit 04603c0d3ea4d137487024a51c9360adfc511114 --no-confirm
$ rad id commit 6b73fce909f612d5d92084b91309d73c21fea396 --no-confirm
โœ“ Committed new identity '29ae4b72f5a315328f06fbd68dc1c396a2d5c45e'
title: Add Alice
description: Add Alice as a delegate
Expand Down Expand Up @@ -183,7 +183,7 @@ Quorum Reached
Now, when we go to accept the second proposal:

```
$ rad id accept 3f6ae4f8645c8b0cbcd35ea924df7b13aca52774 --no-confirm
$ rad id accept 2bf3a85e209d10b11a65e7ed8a8085f6f18ac6bf --no-confirm
! Warning: Revision is out of date
! Warning: d96f425412c9f8ad5d9a9a05c9831d0728e2338d =/= 475cdfbc8662853dd132ec564e4f5eb0f152dd7f
* Consider using 'rad id rebase' to update the proposal to the latest identity
Expand Down Expand Up @@ -238,19 +238,19 @@ Note that a warning was emitted:
If we attempt to commit this revision, the command will fail:

``` (fail)
$ rad id commit 3f6ae4f8645c8b0cbcd35ea924df7b13aca52774 --no-confirm
$ rad id commit 2bf3a85e209d10b11a65e7ed8a8085f6f18ac6bf --no-confirm
! Warning: Revision is out of date
! Warning: d96f425412c9f8ad5d9a9a05c9831d0728e2338d =/= 475cdfbc8662853dd132ec564e4f5eb0f152dd7f
* Consider using 'rad id rebase' to update the proposal to the latest identity
โœ— Id failed: the identity hashes do match 'd96f425412c9f8ad5d9a9a05c9831d0728e2338d =/= 475cdfbc8662853dd132ec564e4f5eb0f152dd7f' for the revision '3f6ae4f8645c8b0cbcd35ea924df7b13aca52774'
โœ— Id failed: the identity hashes do not match for revision 2bf3a85e209d10b11a65e7ed8a8085f6f18ac6bf (d96f425412c9f8ad5d9a9a05c9831d0728e2338d =/= 475cdfbc8662853dd132ec564e4f5eb0f152dd7f)
```

So, let's fix this by running a rebase on the proposal's revision:

```
$ rad id rebase 3f6ae4f8645c8b0cbcd35ea924df7b13aca52774 --no-confirm
โœ“ Identity proposal '3f6ae4f8645c8b0cbcd35ea924df7b13aca52774' rebased
โœ“ Revision '42b9428df59ad349f706b1397750b75ea3b42574'
$ rad id rebase 2bf3a85e209d10b11a65e7ed8a8085f6f18ac6bf --no-confirm
โœ“ Identity proposal '2bf3a85e209d10b11a65e7ed8a8085f6f18ac6bf' rebased
โœ“ Revision 'e56b3e0842a4dd37c2a997344bcb4113704e4768'
title: Add Bob
description: Add Bob as a delegate
status: โฒopenโณ
Expand Down Expand Up @@ -293,9 +293,9 @@ Quorum Reached
We can now update the proposal to have both keys in the delegates set:

```
$ rad id update 3f6ae4f8645c8b0cbcd35ea924df7b13aca52774 --rev 42b9428df59ad349f706b1397750b75ea3b42574 --delegates did:key:z6MkedTZGJGqgQ2py2b8kGecfxdt2yRdHWF6JpaZC47fovFn --no-confirm
โœ“ Identity proposal '3f6ae4f8645c8b0cbcd35ea924df7b13aca52774' updated
โœ“ Revision '1b4ded759249e4f76d19c3e580b4736bf2a2d1c4'
$ rad id update 2bf3a85e209d10b11a65e7ed8a8085f6f18ac6bf --rev e56b3e0842a4dd37c2a997344bcb4113704e4768 --delegates did:key:z6MkedTZGJGqgQ2py2b8kGecfxdt2yRdHWF6JpaZC47fovFn --no-confirm
โœ“ Identity proposal '2bf3a85e209d10b11a65e7ed8a8085f6f18ac6bf' updated
โœ“ Revision 'f15fc641d777cfb005caaa9405e262e516b8ac60'
title: Add Bob
description: Add Bob as a delegate
status: โฒopenโณ
Expand Down Expand Up @@ -338,10 +338,10 @@ Quorum Reached
Finally, we can accept and commit this proposal, creating the final
state of our new Radicle identity:

$ rad id show 3f6ae4f8645c8b0cbcd35ea924df7b13aca52774 --revisions
$ rad id show 2bf3a85e209d10b11a65e7ed8a8085f6f18ac6bf --revisions

```
$ rad id accept 3f6ae4f8645c8b0cbcd35ea924df7b13aca52774 --rev 1b4ded759249e4f76d19c3e580b4736bf2a2d1c4 --no-confirm
$ rad id accept 2bf3a85e209d10b11a65e7ed8a8085f6f18ac6bf --rev f15fc641d777cfb005caaa9405e262e516b8ac60 --no-confirm
โœ“ Accepted proposal โœ“
title: Add Bob
description: Add Bob as a delegate
Expand Down Expand Up @@ -385,7 +385,7 @@ Quorum Reached
```

```
$ rad id commit 3f6ae4f8645c8b0cbcd35ea924df7b13aca52774 --rev 1b4ded759249e4f76d19c3e580b4736bf2a2d1c4 --no-confirm
$ rad id commit 2bf3a85e209d10b11a65e7ed8a8085f6f18ac6bf --rev f15fc641d777cfb005caaa9405e262e516b8ac60 --no-confirm
โœ“ Committed new identity '60de897bc24898f6908fd1272633c0b15aa4096f'
title: Add Bob
description: Add Bob as a delegate
Expand Down
20 changes: 10 additions & 10 deletions radicle-cli/examples/rad-id.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ Let's add Bob as a delegate using their DID

```
$ rad id edit --title "Add Bob" --description "Add Bob as a delegate" --delegates did:key:z6MkedTZGJGqgQ2py2b8kGecfxdt2yRdHWF6JpaZC47fovFn --no-confirm
โœ“ Identity proposal '0d396a83a5e1dda2b8929f7dc401d19dd1a79fb8' created
โœ“ Identity proposal '662a8065f18db50d9ee952bb36eda5b605f161e9' created
title: Add Bob
description: Add Bob as a delegate
status: โฒopenโณ
Expand Down Expand Up @@ -89,7 +89,7 @@ Finally, we can see whether the `Quorum` was reached:
Let's see what happens when we reject the change:

```
$ rad id reject 0d396a --no-confirm
$ rad id reject 662a8065f18db50d9ee952bb36eda5b605f161e9 --no-confirm
โœ“ Rejected proposal ๐Ÿ‘Ž
title: Add Bob
description: Add Bob as a delegate
Expand Down Expand Up @@ -145,7 +145,7 @@ increased to `1`.
Instead, let's accept the proposal:

```
$ rad id accept 0d396a --no-confirm
$ rad id accept 662a8065f18db50d9ee952bb36eda5b605f161e9 --no-confirm
โœ“ Accepted proposal โœ“
title: Add Bob
description: Add Bob as a delegate
Expand Down Expand Up @@ -207,7 +207,7 @@ As well as that, the `Quorum` has now been reached:
At this point, we can commit the proposal and update the identity:

```
$ rad id commit 0d396a --no-confirm
$ rad id commit 662a8065f18db50d9ee952bb36eda5b605f161e9 --no-confirm
โœ“ Committed new identity 'c96e764965aaeff1c6ea3e5b97e2b9828773c8b0'
title: Add Bob
description: Add Bob as a delegate
Expand Down Expand Up @@ -255,7 +255,7 @@ the `--threshold` option:

```
$ rad id edit --title "Update threshold" --description "Update to safer threshold" --threshold 2 --no-confirm
โœ“ Identity proposal 'f435d6e89c8f922ede691287c0d8b7f82afa591e' created
โœ“ Identity proposal 'e6c04862ed0e59739f34232c8690cbad73840a93' created
title: Update threshold
description: Update to safer threshold
status: โฒopenโณ
Expand Down Expand Up @@ -298,8 +298,8 @@ Quorum Reached
But we change our minds and decide to close the proposal instead:

```
$ rad id close f435d6 --no-confirm
โœ“ Closed identity proposal 'f435d6e89c8f922ede691287c0d8b7f82afa591e'
$ rad id close e6c04862ed0e59739f34232c8690cbad73840a93 --no-confirm
โœ“ Closed identity proposal 'e6c04862ed0e59739f34232c8690cbad73840a93'
title: Update threshold
description: Update to safer threshold
status: โฒclosedโณ
Expand Down Expand Up @@ -348,15 +348,15 @@ Radicle identity, then we can use the list command:

```
$ rad id list
0d396a83a5e1dda2b8929f7dc401d19dd1a79fb8 "Add Bob" โฒcommittedโณ
f435d6e89c8f922ede691287c0d8b7f82afa591e "Update threshold" โฒclosedโณ
662a8065f18db50d9ee952bb36eda5b605f161e9 "Add Bob" โฒcommittedโณ
e6c04862ed0e59739f34232c8690cbad73840a93 "Update threshold" โฒclosedโณ
```

And if we want to view the latest state of any proposal we can use the
show command:

```
$ rad id show f435d6
$ rad id show e6c04862ed0e59739f34232c8690cbad73840a93
title: Update threshold
description: Update to safer threshold
status: โฒclosedโณ
Expand Down
38 changes: 19 additions & 19 deletions radicle-cli/examples/rad-issue.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Let's say the new car you are designing with your peers has a problem with its f
$ rad issue open --title "flux capacitor underpowered" --description "Flux capacitor power requirements exceed current supply" --no-announce
โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ Title flux capacitor underpowered โ”‚
โ”‚ Issue 2e8c1bf3fe0532a314778357c886608a966a34bd โ”‚
โ”‚ Issue 42028af21fabc09bfac2f25490f119f7c7e11542 โ”‚
โ”‚ Status open โ”‚
โ”‚ โ”‚
โ”‚ Flux capacitor power requirements exceed current supply โ”‚
Expand All @@ -18,20 +18,20 @@ The issue is now listed under our project.

```
$ rad issue list
โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ โ— ID Title Author Tags Assignees Opened โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ โ— 2e8c1bf flux capacitor underpowered z6MknSLโ€ฆStBU8Vi (you) [ .. ] โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ โ— ID Title Author Labels Assignees Opened โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ โ— 42028af flux capacitor underpowered z6MknSLโ€ฆStBU8Vi (you) [ .. ] โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
```

Show the issue information issue.

```
$ rad issue show 2e8c1bf
$ rad issue show 42028af
โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ Title flux capacitor underpowered โ”‚
โ”‚ Issue 2e8c1bf3fe0532a314778357c886608a966a34bd โ”‚
โ”‚ Issue 42028af21fabc09bfac2f25490f119f7c7e11542 โ”‚
โ”‚ Status open โ”‚
โ”‚ โ”‚
โ”‚ Flux capacitor power requirements exceed current supply โ”‚
Expand All @@ -47,24 +47,24 @@ others to work on. This is to ensure work is not duplicated.
Let's assign ourselves to this one.

```
$ rad assign 2e8c1bf3fe0532a314778357c886608a966a34bd --to did:key:z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi
$ rad assign 42028af21fabc09bfac2f25490f119f7c7e11542 --to did:key:z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi
```

It will now show in the list of issues assigned to us.

```
$ rad issue list --assigned
โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ โ— ID Title Author Tags Assignees Opened โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ โ— 2e8c1bf flux capacitor underpowered z6MknSLโ€ฆStBU8Vi (you) z6MknSLโ€ฆStBU8Vi [ .. ] โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ โ— ID Title Author Labels Assignees Opened โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ โ— 42028af flux capacitor underpowered z6MknSLโ€ฆStBU8Vi (you) z6MknSLโ€ฆStBU8Vi [ .. ] โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
```

Note: this can always be undone with the `unassign` subcommand.

```
$ rad unassign 2e8c1bf3fe0532a314778357c886608a966a34bd --from did:key:z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi
$ rad unassign 42028af21fabc09bfac2f25490f119f7c7e11542 --from did:key:z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi
```

Great, now we have communicated to the world about our car's defect.
Expand All @@ -73,8 +73,8 @@ But wait! We've found an important detail about the car's power requirements.
It will help whoever works on a fix.

```
$ rad comment 2e8c1bf3fe0532a314778357c886608a966a34bd --message 'The flux capacitor needs 1.21 Gigawatts'
9822748bd076595a2408aad02b3a0d9f94fec7e0
$ rad comment 2e8c1bf3fe0532a314778357c886608a966a34bd --reply-to 9822748bd076595a2408aad02b3a0d9f94fec7e0 --message 'More power!'
edec8d07bf3788b98943394c1274910b8f12d35c
$ rad comment 42028af21fabc09bfac2f25490f119f7c7e11542 --message 'The flux capacitor needs 1.21 Gigawatts'
84492237dc0908b1e5b728d1a4e5f1343b6ffe9b
$ rad comment 42028af21fabc09bfac2f25490f119f7c7e11542 --reply-to 84492237dc0908b1e5b728d1a4e5f1343b6ffe9b --message 'More power!'
dd679552a15e2db73bbedf3084f5f7c62bb0d724
```
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
Tagging an issue is easy, let's add the `bug` and `good-first-issue` tags to
Labeling an issue is easy, let's add the `bug` and `good-first-issue` labels to
some issue:

```
$ rad tag 2e8c1bf3fe0532a314778357c886608a966a34bd bug good-first-issue
$ rad label 42028af21fabc09bfac2f25490f119f7c7e11542 bug good-first-issue
```

We can now show the issue to check whether those tags were added:
We can now show the issue to check whether those labels were added:

```
$ rad issue show 2e8c1bf3fe0532a314778357c886608a966a34bd
$ rad issue show 42028af21fabc09bfac2f25490f119f7c7e11542
โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ Title flux capacitor underpowered โ”‚
โ”‚ Issue 2e8c1bf3fe0532a314778357c886608a966a34bd โ”‚
โ”‚ Tags bug, good-first-issue โ”‚
โ”‚ Issue 42028af21fabc09bfac2f25490f119f7c7e11542 โ”‚
โ”‚ Labels bug, good-first-issue โ”‚
โ”‚ Status open โ”‚
โ”‚ โ”‚
โ”‚ Flux capacitor power requirements exceed current supply โ”‚
Expand All @@ -22,17 +22,17 @@ $ rad issue show 2e8c1bf3fe0532a314778357c886608a966a34bd
Untagging an issue is very similar:

```
$ rad untag 2e8c1bf3fe0532a314778357c886608a966a34bd good-first-issue
$ rad unlabel 42028af21fabc09bfac2f25490f119f7c7e11542 good-first-issue
```

Notice that the `good-first-issue` tag has disappeared:
Notice that the `good-first-issue` label has disappeared:

```
$ rad issue show 2e8c1bf3fe0532a314778357c886608a966a34bd
$ rad issue show 42028af21fabc09bfac2f25490f119f7c7e11542
โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ Title flux capacitor underpowered โ”‚
โ”‚ Issue 2e8c1bf3fe0532a314778357c886608a966a34bd โ”‚
โ”‚ Tags bug โ”‚
โ”‚ Issue 42028af21fabc09bfac2f25490f119f7c7e11542 โ”‚
โ”‚ Labels bug โ”‚
โ”‚ Status open โ”‚
โ”‚ โ”‚
โ”‚ Flux capacitor power requirements exceed current supply โ”‚
Expand Down
8 changes: 4 additions & 4 deletions radicle-cli/examples/rad-merge-after-update.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Let's start by creating a patch.
$ git checkout -b feature/1 -q
$ git commit --allow-empty -q -m "First change"
$ git push rad HEAD:refs/patches
โœ“ Patch 0ec956c94256fa101db4c32956ce195a1aa0edf2 opened
โœ“ Patch 143bb0c962561b09e86478a53ba346b5ff934335 opened
To rad://z42hL2jL4XNk6K8oHQaSWfMgCL7ji/z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi
* [new reference] HEAD -> refs/patches
```
Expand All @@ -26,8 +26,8 @@ update it, we expect it to be updated and merged:
``` (stderr) RAD_SOCKET=/dev/null
$ git checkout feature/1 -q
$ git push -f
โœ“ Patch 0ec956c updated to 8175b00f4d75059976930cfcb75ef08454c87055
โœ“ Patch 0ec956c94256fa101db4c32956ce195a1aa0edf2 merged
โœ“ Patch 143bb0c updated to e595bf1246bdcee7b0c20615e479f62d2bf02249
โœ“ Patch 143bb0c962561b09e86478a53ba346b5ff934335 merged
To rad://z42hL2jL4XNk6K8oHQaSWfMgCL7ji/z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi
+ 20aa5dd...954bcdb feature/1 -> patches/0ec956c94256fa101db4c32956ce195a1aa0edf2 (forced update)
+ 20aa5dd...954bcdb feature/1 -> patches/143bb0c962561b09e86478a53ba346b5ff934335 (forced update)
```
Loading

0 comments on commit 3bd5589

Please sign in to comment.