Radish alpha
h
rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5
Radicle Heartwood Protocol & Stack
Radicle
Git
.. framework git workflow jj-config.md jj-init-bare.md jj-init-colocate.md rad-auth-errors.md rad-auth.md rad-block.md rad-checkout-repo-config-linux.md rad-checkout-repo-config-macos.md rad-checkout.md rad-clean.md rad-clone-all.md rad-clone-bare.md rad-clone-connect.md rad-clone-directory.md rad-clone-partial-fail.md rad-clone-scope.md rad-clone-unknown.md rad-clone.md rad-cob-log.md rad-cob-migrate.md rad-cob-multiset rad-cob-multiset.md rad-cob-operations.md rad-cob-show.md rad-cob-update-identity.md rad-cob-update.md rad-config.md rad-diff.md rad-fetch.md rad-fork.md rad-help.md rad-id-collaboration.md rad-id-conflict.md rad-id-multi-delegate.md rad-id-private.md rad-id-threshold-soft-fork.md rad-id-threshold.md rad-id-unauthorized-delegate.md rad-id-unknown-field.md rad-id-update-delete-field.md rad-id.md rad-inbox.md rad-init-detached-head.md rad-init-existing-bare.md rad-init-existing.md rad-init-no-git.md rad-init-no-seed.md rad-init-private-clone-seed.md rad-init-private-clone.md rad-init-private-no-seed.md rad-init-private-seed.md rad-init-private.md rad-init-sync-not-connected.md rad-init-sync-preferred.md rad-init-sync-timeout.md rad-init-sync.md rad-init-with-existing-remote.md rad-init.md rad-inspect-noauth.md rad-inspect.md rad-issue-list.md rad-issue.md rad-key-mismatch.md rad-merge-after-update.md rad-merge-no-ff.md rad-merge-via-push.md rad-node.md rad-patch-ahead-behind.md rad-patch-change-base.md rad-patch-checkout-force.md rad-patch-checkout-revision.md rad-patch-checkout.md rad-patch-delete.md rad-patch-detached-head.md rad-patch-diff.md rad-patch-draft.md rad-patch-edit.md rad-patch-fetch-1.md rad-patch-fetch-2.md rad-patch-jj.md rad-patch-merge-draft.md rad-patch-open-explore.md rad-patch-pull-update.md rad-patch-revert-merge.md rad-patch-update.md rad-patch-via-push.md rad-patch.md rad-publish.md rad-push-and-pull-patches.md rad-remote.md rad-review-by-hunk.md rad-seed-and-follow.md rad-seed-many.md rad-seed-policy-allow-no-scope.md rad-seed-scope.md rad-self.md rad-sync-without-node.md rad-sync.md rad-unseed-many.md rad-unseed.md rad-warn-old-nodes.md rad-watch.md
heartwood crates radicle-cli examples rad-cob-operations.md

The rad cob command provides a subcommand, log, for inspecting the operations of a COB.

To demonstrate, we will first create an issue and interact with it:

$ rad issue open --title "flux capacitor underpowered" --description "Flux capacitor power requirements exceed current supply" --no-announce
╭─────────────────────────────────────────────────────────╮
│ Title   flux capacitor underpowered                     │
│ Issue   d87dcfe8c2b3200e78b128d9b959cfdf7063fefe        │
│ Author  alice (you)                                     │
│ Status  open                                            │
│                                                         │
│ Flux capacitor power requirements exceed current supply │
╰─────────────────────────────────────────────────────────╯
$ rad issue react d87dcfe8c2b3200e78b128d9b959cfdf7063fefe --to d87dcfe8c2b3200e78b128d9b959cfdf7063fefe --emoji ✨ --no-announce
$ rad issue comment d87dcfe8c2b3200e78b128d9b959cfdf7063fefe --message "Max power!" --no-announce
╭─────────────────────────╮
│ alice (you) now 3c849c9 │
│ Max power!              │
╰─────────────────────────╯
$ rad issue assign d87dcfe8c2b3200e78b128d9b959cfdf7063fefe --add did:key:z6Mkt67GdsW7715MEfRuP4pSZxJRJh6kj6Y48WRqVv4N1tRk --no-announce

Now, let’s see the list of operations using rad cob log:

$ rad cob log --repo rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji --type xyz.radicle.issue --object d87dcfe8c2b3200e78b128d9b959cfdf7063fefe
commit   376ba71113603004eae3c1b125c58cdc41d36b73
resource 0656c217f917c3e06234771e9ecae53aba5e173e
parent   3c849c9b555b18be9a1f6c71fb254ba000de8cfe
author   z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi
date     Thu, 15 Dec 2022 17:28:04 +0000

    {
      "type": "assign",
      "assignees": [
        "did:key:z6Mkt67GdsW7715MEfRuP4pSZxJRJh6kj6Y48WRqVv4N1tRk"
      ]
    }

commit   3c849c9b555b18be9a1f6c71fb254ba000de8cfe
resource 0656c217f917c3e06234771e9ecae53aba5e173e
parent   256908937f3cda8df522d5a3ba442eb935c3f11b
author   z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi
date     Thu, 15 Dec 2022 17:28:04 +0000

    {
      "type": "comment",
      "body": "Max power!",
      "replyTo": "d87dcfe8c2b3200e78b128d9b959cfdf7063fefe"
    }

commit   256908937f3cda8df522d5a3ba442eb935c3f11b
resource 0656c217f917c3e06234771e9ecae53aba5e173e
parent   d87dcfe8c2b3200e78b128d9b959cfdf7063fefe
author   z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi
date     Thu, 15 Dec 2022 17:28:04 +0000

    {
      "type": "comment.react",
      "id": "d87dcfe8c2b3200e78b128d9b959cfdf7063fefe",
      "reaction": "✨",
      "active": true
    }

commit   d87dcfe8c2b3200e78b128d9b959cfdf7063fefe
resource 0656c217f917c3e06234771e9ecae53aba5e173e
author   z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi
date     Thu, 15 Dec 2022 17:28:04 +0000

    {
      "type": "comment",
      "body": "Flux capacitor power requirements exceed current supply"
    }

    {
      "type": "edit",
      "title": "flux capacitor underpowered"
    }

We can also limit the range of operations, using the --from and --until options. We will need some commit revisions to use for those options, so let’s look at what those revision are by using rad cob log:

$ rad cob log --repo rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji --type xyz.radicle.issue --object d87dcfe8c2b3200e78b128d9b959cfdf7063fefe
commit   376ba71113603004eae3c1b125c58cdc41d36b73
resource 0656c217f917c3e06234771e9ecae53aba5e173e
parent   3c849c9b555b18be9a1f6c71fb254ba000de8cfe
author   z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi
date     Thu, 15 Dec 2022 17:28:04 +0000

    {
      "type": "assign",
      "assignees": [
        "did:key:z6Mkt67GdsW7715MEfRuP4pSZxJRJh6kj6Y48WRqVv4N1tRk"
      ]
    }

commit   3c849c9b555b18be9a1f6c71fb254ba000de8cfe
resource 0656c217f917c3e06234771e9ecae53aba5e173e
parent   256908937f3cda8df522d5a3ba442eb935c3f11b
author   z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi
date     Thu, 15 Dec 2022 17:28:04 +0000

    {
      "type": "comment",
      "body": "Max power!",
      "replyTo": "d87dcfe8c2b3200e78b128d9b959cfdf7063fefe"
    }

commit   256908937f3cda8df522d5a3ba442eb935c3f11b
resource 0656c217f917c3e06234771e9ecae53aba5e173e
parent   d87dcfe8c2b3200e78b128d9b959cfdf7063fefe
author   z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi
date     Thu, 15 Dec 2022 17:28:04 +0000

    {
      "type": "comment.react",
      "id": "d87dcfe8c2b3200e78b128d9b959cfdf7063fefe",
      "reaction": "✨",
      "active": true
    }

commit   d87dcfe8c2b3200e78b128d9b959cfdf7063fefe
resource 0656c217f917c3e06234771e9ecae53aba5e173e
author   z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi
date     Thu, 15 Dec 2022 17:28:04 +0000

    {
      "type": "comment",
      "body": "Flux capacitor power requirements exceed current supply"
    }

    {
      "type": "edit",
      "title": "flux capacitor underpowered"
    }

If we provide only the --from option, the operations we get back start from that revision and go until the end:

$ rad cob log --repo rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji --type xyz.radicle.issue --object d87dcfe8c2b3200e78b128d9b959cfdf7063fefe --from 3c849c9b555b18be9a1f6c71fb254ba000de8cfe
commit   376ba71113603004eae3c1b125c58cdc41d36b73
resource 0656c217f917c3e06234771e9ecae53aba5e173e
parent   3c849c9b555b18be9a1f6c71fb254ba000de8cfe
author   z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi
date     Thu, 15 Dec 2022 17:28:04 +0000

    {
      "type": "assign",
      "assignees": [
        "did:key:z6Mkt67GdsW7715MEfRuP4pSZxJRJh6kj6Y48WRqVv4N1tRk"
      ]
    }

commit   3c849c9b555b18be9a1f6c71fb254ba000de8cfe
resource 0656c217f917c3e06234771e9ecae53aba5e173e
parent   256908937f3cda8df522d5a3ba442eb935c3f11b
author   z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi
date     Thu, 15 Dec 2022 17:28:04 +0000

    {
      "type": "comment",
      "body": "Max power!",
      "replyTo": "d87dcfe8c2b3200e78b128d9b959cfdf7063fefe"
    }

Conversely, if we provide only the --until option, the operations we get back start from the beginning and stop at that revision:

$ rad cob log --repo rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji --type xyz.radicle.issue --object d87dcfe8c2b3200e78b128d9b959cfdf7063fefe --until 256908937f3cda8df522d5a3ba442eb935c3f11b
commit   256908937f3cda8df522d5a3ba442eb935c3f11b
resource 0656c217f917c3e06234771e9ecae53aba5e173e
parent   d87dcfe8c2b3200e78b128d9b959cfdf7063fefe
author   z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi
date     Thu, 15 Dec 2022 17:28:04 +0000

    {
      "type": "comment.react",
      "id": "d87dcfe8c2b3200e78b128d9b959cfdf7063fefe",
      "reaction": "✨",
      "active": true
    }

commit   d87dcfe8c2b3200e78b128d9b959cfdf7063fefe
resource 0656c217f917c3e06234771e9ecae53aba5e173e
author   z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi
date     Thu, 15 Dec 2022 17:28:04 +0000

    {
      "type": "comment",
      "body": "Flux capacitor power requirements exceed current supply"
    }

    {
      "type": "edit",
      "title": "flux capacitor underpowered"
    }

Finally, if we provide both, we get back that exact range:

$ rad cob log --repo rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji --type xyz.radicle.issue --object d87dcfe8c2b3200e78b128d9b959cfdf7063fefe --from 256908937f3cda8df522d5a3ba442eb935c3f11b --until 3c849c9b555b18be9a1f6c71fb254ba000de8cfe
commit   3c849c9b555b18be9a1f6c71fb254ba000de8cfe
resource 0656c217f917c3e06234771e9ecae53aba5e173e
parent   256908937f3cda8df522d5a3ba442eb935c3f11b
author   z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi
date     Thu, 15 Dec 2022 17:28:04 +0000

    {
      "type": "comment",
      "body": "Max power!",
      "replyTo": "d87dcfe8c2b3200e78b128d9b959cfdf7063fefe"
    }

commit   256908937f3cda8df522d5a3ba442eb935c3f11b
resource 0656c217f917c3e06234771e9ecae53aba5e173e
parent   d87dcfe8c2b3200e78b128d9b959cfdf7063fefe
author   z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi
date     Thu, 15 Dec 2022 17:28:04 +0000

    {
      "type": "comment.react",
      "id": "d87dcfe8c2b3200e78b128d9b959cfdf7063fefe",
      "reaction": "✨",
      "active": true
    }

The `rad cob` command provides a subcommand, `log`, for inspecting the
operations of a COB.

To demonstrate, we will first create an issue and interact with it:

```
$ rad issue open --title "flux capacitor underpowered" --description "Flux capacitor power requirements exceed current supply" --no-announce
╭─────────────────────────────────────────────────────────╮
│ Title   flux capacitor underpowered                     │
│ Issue   d87dcfe8c2b3200e78b128d9b959cfdf7063fefe        │
│ Author  alice (you)                                     │
│ Status  open                                            │
│                                                         │
│ Flux capacitor power requirements exceed current supply │
╰─────────────────────────────────────────────────────────╯
$ rad issue react d87dcfe8c2b3200e78b128d9b959cfdf7063fefe --to d87dcfe8c2b3200e78b128d9b959cfdf7063fefe --emoji ✨ --no-announce
$ rad issue comment d87dcfe8c2b3200e78b128d9b959cfdf7063fefe --message "Max power!" --no-announce
╭─────────────────────────╮
│ alice (you) now 3c849c9 │
│ Max power!              │
╰─────────────────────────╯
$ rad issue assign d87dcfe8c2b3200e78b128d9b959cfdf7063fefe --add did:key:z6Mkt67GdsW7715MEfRuP4pSZxJRJh6kj6Y48WRqVv4N1tRk --no-announce
```

Now, let's see the list of operations using `rad cob log`:

```
$ rad cob log --repo rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji --type xyz.radicle.issue --object d87dcfe8c2b3200e78b128d9b959cfdf7063fefe
commit   376ba71113603004eae3c1b125c58cdc41d36b73
resource 0656c217f917c3e06234771e9ecae53aba5e173e
parent   3c849c9b555b18be9a1f6c71fb254ba000de8cfe
author   z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi
date     Thu, 15 Dec 2022 17:28:04 +0000

    {
      "type": "assign",
      "assignees": [
        "did:key:z6Mkt67GdsW7715MEfRuP4pSZxJRJh6kj6Y48WRqVv4N1tRk"
      ]
    }

commit   3c849c9b555b18be9a1f6c71fb254ba000de8cfe
resource 0656c217f917c3e06234771e9ecae53aba5e173e
parent   256908937f3cda8df522d5a3ba442eb935c3f11b
author   z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi
date     Thu, 15 Dec 2022 17:28:04 +0000

    {
      "type": "comment",
      "body": "Max power!",
      "replyTo": "d87dcfe8c2b3200e78b128d9b959cfdf7063fefe"
    }

commit   256908937f3cda8df522d5a3ba442eb935c3f11b
resource 0656c217f917c3e06234771e9ecae53aba5e173e
parent   d87dcfe8c2b3200e78b128d9b959cfdf7063fefe
author   z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi
date     Thu, 15 Dec 2022 17:28:04 +0000

    {
      "type": "comment.react",
      "id": "d87dcfe8c2b3200e78b128d9b959cfdf7063fefe",
      "reaction": "✨",
      "active": true
    }

commit   d87dcfe8c2b3200e78b128d9b959cfdf7063fefe
resource 0656c217f917c3e06234771e9ecae53aba5e173e
author   z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi
date     Thu, 15 Dec 2022 17:28:04 +0000

    {
      "type": "comment",
      "body": "Flux capacitor power requirements exceed current supply"
    }

    {
      "type": "edit",
      "title": "flux capacitor underpowered"
    }

```

We can also limit the range of operations, using the `--from` and `--until`
options. We will need some commit revisions to use for those options, so let's
look at what those revision are by using `rad cob log`:

```
$ rad cob log --repo rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji --type xyz.radicle.issue --object d87dcfe8c2b3200e78b128d9b959cfdf7063fefe
commit   376ba71113603004eae3c1b125c58cdc41d36b73
resource 0656c217f917c3e06234771e9ecae53aba5e173e
parent   3c849c9b555b18be9a1f6c71fb254ba000de8cfe
author   z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi
date     Thu, 15 Dec 2022 17:28:04 +0000

    {
      "type": "assign",
      "assignees": [
        "did:key:z6Mkt67GdsW7715MEfRuP4pSZxJRJh6kj6Y48WRqVv4N1tRk"
      ]
    }

commit   3c849c9b555b18be9a1f6c71fb254ba000de8cfe
resource 0656c217f917c3e06234771e9ecae53aba5e173e
parent   256908937f3cda8df522d5a3ba442eb935c3f11b
author   z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi
date     Thu, 15 Dec 2022 17:28:04 +0000

    {
      "type": "comment",
      "body": "Max power!",
      "replyTo": "d87dcfe8c2b3200e78b128d9b959cfdf7063fefe"
    }

commit   256908937f3cda8df522d5a3ba442eb935c3f11b
resource 0656c217f917c3e06234771e9ecae53aba5e173e
parent   d87dcfe8c2b3200e78b128d9b959cfdf7063fefe
author   z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi
date     Thu, 15 Dec 2022 17:28:04 +0000

    {
      "type": "comment.react",
      "id": "d87dcfe8c2b3200e78b128d9b959cfdf7063fefe",
      "reaction": "✨",
      "active": true
    }

commit   d87dcfe8c2b3200e78b128d9b959cfdf7063fefe
resource 0656c217f917c3e06234771e9ecae53aba5e173e
author   z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi
date     Thu, 15 Dec 2022 17:28:04 +0000

    {
      "type": "comment",
      "body": "Flux capacitor power requirements exceed current supply"
    }

    {
      "type": "edit",
      "title": "flux capacitor underpowered"
    }

```

If we provide only the `--from` option, the operations we get back start from that
revision and go until the end:

```
$ rad cob log --repo rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji --type xyz.radicle.issue --object d87dcfe8c2b3200e78b128d9b959cfdf7063fefe --from 3c849c9b555b18be9a1f6c71fb254ba000de8cfe
commit   376ba71113603004eae3c1b125c58cdc41d36b73
resource 0656c217f917c3e06234771e9ecae53aba5e173e
parent   3c849c9b555b18be9a1f6c71fb254ba000de8cfe
author   z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi
date     Thu, 15 Dec 2022 17:28:04 +0000

    {
      "type": "assign",
      "assignees": [
        "did:key:z6Mkt67GdsW7715MEfRuP4pSZxJRJh6kj6Y48WRqVv4N1tRk"
      ]
    }

commit   3c849c9b555b18be9a1f6c71fb254ba000de8cfe
resource 0656c217f917c3e06234771e9ecae53aba5e173e
parent   256908937f3cda8df522d5a3ba442eb935c3f11b
author   z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi
date     Thu, 15 Dec 2022 17:28:04 +0000

    {
      "type": "comment",
      "body": "Max power!",
      "replyTo": "d87dcfe8c2b3200e78b128d9b959cfdf7063fefe"
    }

```

Conversely, if we provide only the `--until` option, the operations we get back
start from the beginning and stop at that revision:

```
$ rad cob log --repo rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji --type xyz.radicle.issue --object d87dcfe8c2b3200e78b128d9b959cfdf7063fefe --until 256908937f3cda8df522d5a3ba442eb935c3f11b
commit   256908937f3cda8df522d5a3ba442eb935c3f11b
resource 0656c217f917c3e06234771e9ecae53aba5e173e
parent   d87dcfe8c2b3200e78b128d9b959cfdf7063fefe
author   z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi
date     Thu, 15 Dec 2022 17:28:04 +0000

    {
      "type": "comment.react",
      "id": "d87dcfe8c2b3200e78b128d9b959cfdf7063fefe",
      "reaction": "✨",
      "active": true
    }

commit   d87dcfe8c2b3200e78b128d9b959cfdf7063fefe
resource 0656c217f917c3e06234771e9ecae53aba5e173e
author   z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi
date     Thu, 15 Dec 2022 17:28:04 +0000

    {
      "type": "comment",
      "body": "Flux capacitor power requirements exceed current supply"
    }

    {
      "type": "edit",
      "title": "flux capacitor underpowered"
    }

```

Finally, if we provide both, we get back that exact range:

```
$ rad cob log --repo rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji --type xyz.radicle.issue --object d87dcfe8c2b3200e78b128d9b959cfdf7063fefe --from 256908937f3cda8df522d5a3ba442eb935c3f11b --until 3c849c9b555b18be9a1f6c71fb254ba000de8cfe
commit   3c849c9b555b18be9a1f6c71fb254ba000de8cfe
resource 0656c217f917c3e06234771e9ecae53aba5e173e
parent   256908937f3cda8df522d5a3ba442eb935c3f11b
author   z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi
date     Thu, 15 Dec 2022 17:28:04 +0000

    {
      "type": "comment",
      "body": "Max power!",
      "replyTo": "d87dcfe8c2b3200e78b128d9b959cfdf7063fefe"
    }

commit   256908937f3cda8df522d5a3ba442eb935c3f11b
resource 0656c217f917c3e06234771e9ecae53aba5e173e
parent   d87dcfe8c2b3200e78b128d9b959cfdf7063fefe
author   z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi
date     Thu, 15 Dec 2022 17:28:04 +0000

    {
      "type": "comment.react",
      "id": "d87dcfe8c2b3200e78b128d9b959cfdf7063fefe",
      "reaction": "✨",
      "active": true
    }

```